제출 #728141

#제출 시각아이디문제언어결과실행 시간메모리
728141hmm789Red-blue table (IZhO19_stones)C++14
100 / 100
36 ms9036 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define MOD 998244353 #define INF 1000000000000000000 #define EPS 1e-10 int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--) { int n, m, ans = 0; bool swp = false; cin >> n >> m; if(n > m) { swap(n, m); swp = true; } int a[n][m], idx = 0, cnt = 0, num = (n-ceil((n+1)/2.0))*m; memset(a, 0, sizeof(a)); for(int i = 0; i < n;) { for(int j = 0; j < m/2+1; j++) { if(cnt == num) goto nxt; a[i][idx] = 1; // red idx = (idx+1)%m; cnt++; if(j == m/2) i++; } } nxt:; for(int i = 0; i < n; i++) { cnt = 0; for(int j = 0; j < m; j++) { if(a[i][j] == 1) cnt++; } if(cnt > m-cnt) ans++; } for(int j = 0; j < m; j++) { cnt = 0; for(int i = 0; i < n; i++) { if(a[i][j] == 0) cnt++; } if(cnt > n-cnt) ans++; } cout << ans << '\n'; if(swp) { for(int j = 0; j < m; j++) { for(int i = 0; i < n; i++) { if(a[i][j] == 1) cout << '-'; else cout << '+'; } cout << '\n'; } } else { for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { if(a[i][j] == 1) cout << '+'; else cout << '-'; } cout << '\n'; } } } }
#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...