Submission #993734

#TimeUsernameProblemLanguageResultExecution timeMemory
993734n3rm1nRed-blue table (IZhO19_stones)C++17
100 / 100
18 ms5212 KiB
#include<bits/stdc++.h> #define endl '\n' #define ll long long using namespace std; const int MAXN = 1e3+10; void speed() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); } int n, m; /// 1 - red /// 0 - blue int a[MAXN][MAXN]; int cnt[MAXN]; void solve_test() { cin >> n >> m; int nooo = 0; if(n < m) { nooo = 1; swap(n, m); } if(n >= m) { for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) a[i][j] = 1; } memset(cnt, 0, sizeof(cnt)); int togive = (m - 1)/2; int need = n/2 + 1; int i = 1; int ans = n; for (int j = 1; j <= m; ++ j) { if(cnt[i] >= togive)break; int token = need; while(token) { if(cnt[i] >= togive)break; a[i][j] = 0; //cout << i << " " << j << " " << endl; token --; cnt[i] ++; i ++; if(i == n+1)i = 1; } if(!token)ans ++; } if(!nooo) { cout << ans << endl; for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= m; ++ j) { if(a[i][j] == 1)cout << '+'; else cout << '-'; } cout << endl; } } else { cout << ans << endl; for (int i = 1; i <= m; ++ i) { for (int j = 1; j <= n; ++ j) { if(a[j][i] == 0)cout << '+'; else cout << '-'; } cout << endl; } } } } int main() { speed(); int t; cin >> t; while(t --) { solve_test(); } return 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...