Возьмем 2 города. Из одного в другой выходит 12 дорог. Из второго в первый 12 тех-же самых дорог
Значит дорог всего 2*12/2 = 12 дорог
Возьмем 3 города. Из 1-го во второй уходит 6 дорог, а в третий тоже 6.
Из второго в первый 6 и в третий 6
Из третьего, как уже описано 6 в первый и 6 во второй
12*3 / 2 = 18 дорог в сумме (нарисуй на бумажке и посчитай.)
Видим закономерность.
В числителе изменяется кол-во городов, не изменяется кол-во дорог.
А в знаменателе всегда двойка (можешь попробовать нарисовать схему для 4-х городов. Всё останется как я и описал = 12*4 / 2)
Тогда для 112 городов
112*12 / 2 = 672 дороги.
#include <iostream>
#include <vector>
using namespace std;
void solve(){
int m,n;
cin >> m >> n;
vector<vector<int>> a(m,vector<int>(n));
vector<bool> b(m, true);
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
for(int j = 1; j < n; j++)
if(a[i][j] <= a[i][j-1])
b[i] = false;
for(auto i : b) cout << i << " ";
}
signed main(){
solve();
Возьмем 2 города. Из одного в другой выходит 12 дорог. Из второго в первый 12 тех-же самых дорог
Значит дорог всего 2*12/2 = 12 дорог
Возьмем 3 города. Из 1-го во второй уходит 6 дорог, а в третий тоже 6.
Из второго в первый 6 и в третий 6
Из третьего, как уже описано 6 в первый и 6 во второй
12*3 / 2 = 18 дорог в сумме (нарисуй на бумажке и посчитай.)
Видим закономерность.
В числителе изменяется кол-во городов, не изменяется кол-во дорог.
А в знаменателе всегда двойка (можешь попробовать нарисовать схему для 4-х городов. Всё останется как я и описал = 12*4 / 2)
Тогда для 112 городов
112*12 / 2 = 672 дороги.
#include <iostream>
#include <vector>
using namespace std;
void solve(){
int m,n;
cin >> m >> n;
vector<vector<int>> a(m,vector<int>(n));
vector<bool> b(m, true);
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
for(int i = 0; i < m; i++)
for(int j = 1; j < n; j++)
if(a[i][j] <= a[i][j-1])
b[i] = false;
for(auto i : b) cout << i << " ";
}
signed main(){
solve();
}