Submission #588126

#TimeUsernameProblemLanguageResultExecution timeMemory
588126jmyszka2007Coins (LMIO19_monetos)C++17
24.85 / 100
25 ms1224 KiB
#include <bits/stdc++.h> using namespace std; int tab[310][310]; int res[310][310]; int main() { int t, n, a, b; cin >> t >> n >> a >> b; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { cin >> tab[i][j]; } } int ans = 0; for(int i = 1; i <= n / 2; i++) { for(int j = 1; j <= n; j++) { if(tab[i][j]) { ans++; } } } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(i <= n / 2) { res[i][j] = 0; } else { res[i][j] = 1; } } } int tmp = ans; int mn = ans; int y = n / 2; int x = n; for(int i = n / 2 + 1; i <= n; i++) { for(int j = 1; j <= n / 2; j++) { if(!tab[i][j] && tab[y][x]) { ans--; mn = min(mn, ans); } if(tab[i][j] && !tab[y][x]) { ans++; } if(x == n / 2 + 1) { x = n; y--; } else { x--; } } } if(tmp == mn) { for(int k = 1; k <= n; k++) { for(int l = 1; l <= n; l++) { cout << res[k][l] << ' '; } cout << '\n'; } return 0; } y = n / 2; x = n; for(int i = n / 2 + 1; i <= n; i++) { for(int j = 1; j <= n / 2; j++) { swap(res[i][j], res[y][x]); if(!tab[i][j] && tab[y][x]) { tmp--; mn = min(mn, ans); } if(tab[i][j] && !tab[y][x]) { tmp++; } if(tmp == mn) { for(int k = 1; k <= n; k++) { for(int l = 1; l <= n; l++) { cout << res[k][l] << ' '; } cout << '\n'; } return 0; } if(x == n / 2 + 1) { x = n; y--; } else { x--; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...