Submission #1156393

#TimeUsernameProblemLanguageResultExecution timeMemory
1156393MuhammadSaramRed-blue table (IZhO19_stones)C++20
17 / 100
15 ms1352 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7, V = 32; vector<string> sol(int n,int m) { vector<string> v; for (int i=0;i<n/2;i++) { string s(m/2+1,'+'),s1(m/2,'-'); s+=s1; v.push_back(s); } string wh(m,'-'); v.push_back(wh); for (int i=0;i<n/2;i++) { string s(m/2+1,'+'),s1(m/2,'-'); s1+=s; v.push_back(s1); } return v; } signed main() { int t; cin>>t; while (t--) { int n,m; cin>>n>>m; if (min(n,m)<=2) { cout<<max(n,m)<<endl; char c='+'; if (min(n,m)==n) c='-'; for (int i=0;i<n;i++) { string s(m,c); cout<<s<<endl; } } else if(min(n,m)<=4) { cout<<max(n,m)+1<<endl; if (min(n,m)==n) { string s(m,'-'); for (int i=0;i<n/2+1;i++) cout<<s<<endl; string s1(m,'+'); for (int i=1;i<n-n/2;i++) cout<<s1<<endl; } else { string s(m/2+1,'+'); for (int i=1;i<n-n/2;i++) s+='-'; for (int i=0;i<n;i++) cout<<s<<endl; } } else if (n%2 && m%2) { cout<<n+m-2<<endl; vector<string> v=sol(n,m); for (auto i:v) cout<<i<<endl; } else if (n%2) { cout<<n+m-3<<endl; vector<string> v=sol(n,m-1); for (auto i:v) cout<<i<<'+'<<endl; } else if(m%2) { cout<<n+m-3<<endl; vector<string> v=sol(n-1,m); for (auto i:v) cout<<i<<endl; string s(m,'-'); cout<<s<<endl; } else { cout<<n+m-4<<endl; vector<string> v=sol(n-1,m-1); for (auto i:v) cout<<i<<'+'<<endl; string s(m,'-'); cout<<s<<endl; } } return 0; }
#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...