# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
683659 | 2023-01-19T05:07:36 Z | nwgnbtb | Red-blue table (IZhO19_stones) | C++14 | 30 ms | 1296 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define pb push_back // kak push_back 5 #define endl '\n' #define FOR(i,start,end) for(int i = start;i < end;i ++) const ll mxn = 1e6; ll n,m,a[mxn]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll tt = 1; cin >> tt; while(tt --){ ll n,m; cin >> n >> m; if(n >= m){ if(n == 1){ cout << 1 << endl << '+' << endl; continue; } if(m == 1){ cout << n << endl; for(int i = 0;i < n;i ++) cout << '+' << endl; continue; } if(m % 2 == 0 && (n + (m - 2) / 2 + (m - 2) % 2) >= (n - 1) + (m - 2) || m % 2 == 1 && (n + (m - 2) / 2 + (m - 2) % 2) >= (n - 1) + (m - 1)){ cout << n + (m - 2) / 2 + (m - 2) % 2 << endl; for(int i = 0;i < n;i ++){ cout<<'+'; for(int j = 1;j < m - 1;j ++){ if(j % 2 == 1) cout << '-'; else cout << '+'; } cout << '+' << endl; } } else{ if(m % 2 == 1){ cout << (n - 1) + (m - 1) << endl; for(int i = 0;i < n;i ++){ if(i == n - 1){ for(int j = 0;j < m;j ++){ cout << '-'; } cout << endl; continue; } cout << '+'; for(int j = 1;j < m;j ++){ if(i % 2 == 0){ if(j % 2 == 1) cout << '-'; else cout << '+'; } else{ if(j % 2 == 1) cout << '+'; else cout << '-'; } } cout << endl; } } else{ cout << (n - 1) + (m - 2) << endl; for(int i = 0;i < n;i ++){ if(i == n - 1){ for(int j = 0;j < m;j ++){ cout << '-'; } cout << endl; continue; } cout << '+'; for(int j = 1;j < m - 1;j ++){ if(i % 2 == 0){ if(j % 2 == 1) cout << '-'; else cout << '+'; } else{ if(j % 2 == 1) cout << '+'; else cout << '-'; } } cout << '+' << endl; } } } } else{ if(m == 1){ cout << 1 << endl << '-' << endl; continue; } if(n == 1){ cout << m << endl; for(int i = 0;i < m;i ++) cout << '-'; cout << endl; continue; } if(n % 2 == 0 && m + (n - 2) / 2 + (n - 2) % 2 >= m - 1 + n - 2 || n % 2 == 1 && m + (n - 2) / 2 + (n - 2) % 2 >= m - 1 + n - 1){ cout << m + (n - 2) / 2 + (n - 2) % 2 << endl; for(int i = 0;i < n;i ++){ for(int j = 0;j < m;j ++){ if(i == 0 || i == n - 1){ cout << '-'; } else if(i % 2 == 1) cout << '+'; else cout << '-'; } cout << endl; } } else{ if(n % 2 == 1){ cout << m - 1 + n - 1 << endl; for(int i = 0;i < n;i ++){ if(i == 0){ for(int j = 0;j < m - 1;j ++) cout << '-'; cout << '+' << endl; continue; } for(int j = 0;j < m - 1;j ++){ if(i % 2 == 1){ if(j % 2 == 0) cout << '+'; else cout << '-'; } else{ if(j % 2 == 0) cout << '-'; else cout << '+'; } } cout << '+' << endl; } } else{ cout << m - 1 + n - 2 << endl; for(int i = 0;i < n;i ++){ if(i == 0 || i == n - 1){ for(int j = 0;j < m - 1;j ++) cout << '-'; cout << '+' << endl; continue; } for(int j = 0;j < m - 1;j ++){ if(i % 2 == 1){ if(j % 2 == 0) cout << '+'; else cout << '-'; } else{ if(j % 2 == 0) cout << '-'; else cout << '+'; } } cout << '+' << endl; } } } } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 328 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 328 KB | Output is correct |
3 | Correct | 1 ms | 340 KB | Output is correct |
4 | Incorrect | 1 ms | 340 KB | in the table A+B is not equal to 41 |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 23 ms | 1296 KB | Output is correct |
2 | Correct | 18 ms | 1212 KB | Output is correct |
3 | Correct | 18 ms | 1108 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 30 ms | 1224 KB | in the table A+B is not equal to 45 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 328 KB | Output is correct |
3 | Correct | 1 ms | 340 KB | Output is correct |
4 | Incorrect | 1 ms | 340 KB | in the table A+B is not equal to 41 |
5 | Halted | 0 ms | 0 KB | - |