Submission #154297

#TimeUsernameProblemLanguageResultExecution timeMemory
154297nvmdavaRed-blue table (IZhO19_stones)C++17
100 / 100
57 ms5368 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define N 1200005 #define MOD 1000000007 #define INF 0x3f3f3f3f int res, cur; int t[1005][1005]; int cnt[1005]; void go(){ int n, m; cin>>n>>m; bool sw = 0; if(n < m){ sw = 1; swap(n, m); } int cur = n; for(int i = 1; i <= n; i++){ cnt[i] = m; for(int j = 1; j <= m; j++){ t[i][j] = 1; } } int q = (n + 2) >> 1; for(int j = 1; j <= m; j++){ bool ok = 0; for(int i = 0; i < q; i++){ t[(i + (j - 1) * q) % n + 1][j] = 0; cnt[(i + (j - 1) * q) % n + 1]--; if(cnt[(i + (j - 1) * q) % n + 1] <= m / 2){ ok = 1; } } if(ok){ for(int i = 0; i < q; i++){ t[(i + (j - 1) * q) % n + 1][j] = 1; } break; } cur++; } cout<<cur<<'\n'; if(sw == 0){ for(int i = 1; i <= n; i++){ for(int j = 1; j <= m; j++){ cout<<(t[i][j] == 1 ? '+' : '-'); } cout<<'\n'; } } else { for(int j = 1; j <= m; j++){ for(int i = 1; i <= n; i++){ cout<<(t[i][j] == 1 ? '-' : '+'); } cout<<'\n'; } } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int t; cin>>t; while(t--){ go(); } }
#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...