Submission #168181

#TimeUsernameProblemLanguageResultExecution timeMemory
168181munhorgilRed-blue table (IZhO19_stones)C++14
38 / 100
105 ms1912 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) { a = n - n / 2; for(i = 0 ; i < a ; i++) { for(j = (m / a) * i ; j < (m / a) * (i + 1) ; j++) { A[i][j] = '-'; } } for(j = (m / a) * a ; j < m ; j++) { A[a - 1][j] = '-'; } for(i = a ; 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 < b ; i++) { for(j = (n / b) * i ; j < (n / b) * (i + 1) ; j++) { A[j][i] = '+'; } } for(i = (n / b) * b ; i < n ; i++) { A[i][b - 1] = '+'; } } } } 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...