Submission #168183

#TimeUsernameProblemLanguageResultExecution timeMemory
168183munhorgilRed-blue table (IZhO19_stones)C++14
69 / 100
103 ms1948 KiB
#include<bits/stdc++.h> #define pb push_back using namespace std; int main() { int n , m , i , j , t , a , b , ans; vector < char > temp; vector < vector < char > > A; cin >> t; while(t > 0) { cin >> n >> m; A.clear(); for(i = 0 ; i < n ; i++) { temp.clear(); for(j = 0 ; j < m ; j++) { temp.pb('+'); } A.pb(temp); } if(min(n , m) > 6) { if(n % 2 == 0) a = n - 2; else a = n - 1; if(m % 2 == 0) b = m - 2; else b = m - 1; ans = a + b; for(i = 0 ; i < a / 2 ; i++) { for(j = 0 ; j < b / 2 ; j++) { A[i][j] = '-'; A[i + a / 2][j + b / 2] = '-'; } } for(i = a ; i < n ; i++) { for(j = 0 ; j < m ; j++) { A[i][j] = '-'; } } } else { if(min(n , m) < 5) { ans = max(n , m) + (min(n , m) - 1) / 2; if(n < m) { for(i = 0 ; i < n - ((n - 1) / 2) ; i++) { for(j = 0 ; j < m ; j++) { A[i][j] = '-'; } } } else { for(i = 0 ; i < n ; i++) { for(j = 0 ; j < (m - 1) / 2 ; j++) { A[i][j] = '-'; } } } } else { ans = n + m - min(n , m) / 2; if(n < m) { b = n - (n / 2); for(i = 0 ; i < m ; i++) { a = i % b; A[a][i] = '-'; } for(i = b ; i < n ; i++) { for(j = 0 ; j < m ; j++) { A[i][j] = '-'; } } } else { b = m - (m / 2); for(i = 0 ; i < n ; i++) { for(j = 0 ; j < b ; j++) { A[i][j] = '-'; } } for(i = 0 ; i < n ; i++) { a = i % b; A[i][a] = '+'; } } } } cout << ans << endl; for(i = 0 ; i < n ; i++) { for(j = 0 ; j < m ; j++) { cout << A[i][j]; } cout << endl; } t--; } }
#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...