Submission #911029

#TimeUsernameProblemLanguageResultExecution timeMemory
911029penguin133Red-blue table (IZhO19_stones)C++17
54 / 100
26 ms1880 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); void solve(){ int n, m; cin >> n >> m; int ext = (min(n, m) - 1) / 2 * max(n, m); int req = (min(n, m) - 1) / 2; int ned = max(n, m) / 2 + 1; cout << max(n, m) + ext / ned << '\n'; int cnt[n+1] = {0}, cnt2[m+1] = {0}; if(n > m){ char A[n+1][m+1]; for(int i=1;i<=m;i++){ if(i%2){ for(int j=1;j<=n;j++){ if(cnt[j] < req && cnt2[i] < ned){ A[j][i] = '-'; cnt[j]++; cnt2[i]++; } else A[j][i] = '+'; } } else{ for(int j=n;j>=1;j--){ if(cnt[j] < req && cnt2[i] < ned){ A[j][i] = '-'; cnt[j]++; cnt2[i]++; } else A[j][i] = '+'; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++)cout << A[i][j]; cout << '\n'; } } else{ for(int i=1;i<=n;i++){ if(i%2)for(int j=1;j<=m;j++){ if(cnt[i] < ned && cnt2[j] < req){ cout << '+'; cnt[i]++; cnt2[j]++; } else cout << '-'; } else{ stack <char> s; for(int j=m;j>=1;j--){ if(cnt[i] < ned && cnt2[j] < req){ s.push('+'); cnt[i]++; cnt2[j]++; } else s.push('-'); } while(!s.empty())cout << s.top(), s.pop(); } cout << '\n'; } } } main(){ ios::sync_with_stdio(0);cin.tie(0); int tc = 1; cin >> tc; for(int tc1=1;tc1<=tc;tc1++){ // cout << "Case #" << tc1 << ": "; solve(); } }

Compilation message (stderr)

stones.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main(){
      | ^~~~
#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...