Submission #242557

#TimeUsernameProblemLanguageResultExecution timeMemory
242557NONAMEProsjecni (COCI16_prosjecni)C++14
120 / 120
6 ms512 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; ll a[101][101]; //void solve(ll n) { //ll n; //cin >> n; //if (n == 2) { //cout << n << " 0\n"; //return; //} //ll sum = n * (n - 1) / 2; //for (int i = 0; i < n - 1; ++i) //a[0][i] = i + 1; //a[0][n - 1] = sum; //if (n & 1) { //ll cur = 1; //for (int i = 0; i < n; ++i) //for (int j = 0; j < n; ++j) //a[i][j] = cur++; //} else { //for (int i = 1; i < n - 1; ++i) //for (int j = 0; j < n; ++j) //a[i][j] = a[i - 1][j] + sum; //for (int j = 0; j < n; ++j) { //ll cur = 0; //for (int i = 0; i < n - 1; ++i) //cur += a[i][j]; //if (cur % n == 0) { //a[n - 1][j] = cur; //continue; //} //ll need = n - (cur % n); //cur = (cur - (cur % n)) + need; //a[n - 1][j] = cur; //} //} //bool f = 1; //for (int i = 0; i < n; ++i) { //ll cur = 0; //for (int j = 0; j < n; ++j) //cur += a[i][j]; //if (cur % n != 0) //f = 0; //} //for (int j = 0; j < n; ++j) { //ll cur = 0; //for (int i = 0; i < n; ++i) //cur += a[i][j]; //if (cur % n != 0) //f = 0; //} //set <ll> s; //for (int i = 0; i < n; ++i) //for (int j = 0; j < n; ++j) //s.insert(a[i][j]); //if (int(s.size()) != n * n) //f = 0; //for (int i = 0; i < n; ++i) //for (int j = 0; j < n; ++j) //f &= (a[i][j] > 0 && a[i][j] < int(1e9)); //cout << n << " " << f << "\n"; //} int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); //for (int i = 2; i <= 100; ++i) //solve(i); ll n; cin >> n; if (n == 2) { cout << "-1\n"; return 0; } ll sum = n * (n - 1) / 2; for (int i = 0; i < n - 1; ++i) a[0][i] = i + 1; a[0][n - 1] = sum; for (int i = 1; i < n - 1; ++i) for (int j = 0; j < n; ++j) a[i][j] = a[i - 1][j] + sum; for (int j = 0; j < n; ++j) { ll cur = 0; for (int i = 0; i < n - 1; ++i) cur += a[i][j]; a[n - 1][j] = n * a[n - 2][j] - cur; } //for (int i = 0; i < n; ++i) { //ll cur = 0; //for (int j = 0; j < n; ++j) //cur += a[i][j]; //if (cur % n != 0) { //cout << "-1\n"; //return 0; //} //} //for (int j = 0; j < n; ++j) { //ll cur = 0; //for (int i = 0; i < n; ++i) //cur += a[i][j]; //if (cur % n != 0) { //cout << "-1\n"; //return 0; //} //} //bool f = 1; for (int i = 0; i < n; ++i, cout << "\n") for (int j = 0; j < n; ++j) cout << a[i][j]/* % n*/ << " "/*, f &= (a[i][j] > 0 && a[i][j] < int(1e9))*/; //cout << f << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...