Submission #1132359

#TimeUsernameProblemLanguageResultExecution timeMemory
1132359Halym2007Red-blue table (IZhO19_stones)C++17
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define sz size() #define ff first #define ss second #define pb push_back #define pii pair <int, int> #define dur exit(0) #define dur1 return(0) #define minus jj const int N = 1e3 + 5; vector <pii> v; char jogap[N][N]; int minus[N]; int main () { // freopen ("input.txt", "r", stdin); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t; cin >> t; while ( t-- ) { int n, m; cin >> n >> m; int gir = 0; if (m < n) { swap (n, m); gir = 1; } int y = m * ((n + 1) / 2 - 1); int jogh = y / (m / 2 + 1); int ans = m + jogh; cout << ans << "\n"; assert (ans == m + (n + 1) / 2); if (gir) swap (n, m); if (n <= m) { for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { jogap[i][j] = '-'; } } for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { v.pb ({minus[j], j}); } sort (v.begin(), v.end()); for (int j = 1; j <= m / 2 + 1; ++j) { if (minus[v[j - 1].ss] >= ((n + 1) / 2) - 1) break; minus[v[j - 1].ss]++; jogap[i][v[j - 1].ss] = '+'; } v.clear(); } } else { for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { jogap[i][j] = '+'; } } for (int i = 1; i <= m; ++i) { for (int j = 1; j <= n; ++j) { v.pb ({minus[j], j}); } sort (v.begin(), v.end()); for (int j = 1; j <= n / 2 + 1; ++j) { if (minus[v[j - 1].ss] >= ((m + 1) / 2) - 1) break; minus[v[j - 1].ss]++; jogap[v[j - 1].ss][i] = '-'; } v.clear(); } } // int jog = 0; // for (int i = 1; i <= n; ++i) { // int val = 0; // for (int j = 1; j <= m; ++j) { // val += (jogap[i][j] == '+' ? 1 : -1); // } // if (val > 0) jog++; // } // for (int i = 1; i <= m; ++i) { // int val = 0; // for (int j = 1; j <= n; ++j) { // val += (jogap[j][i] == '+' ? -1 : 1); // } // if (val > 0) jog++; // } // cout << jog << "\n"; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { cout << jogap[i][j]; } cout << "\n"; } cout << "\n"; for (int i = 1; i <= max (n, m); ++i) { minus[i] = 0; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...