Submission #1230844

#TimeUsernameProblemLanguageResultExecution timeMemory
1230844warrennRed-blue table (IZhO19_stones)C++20
17 / 100
2099 ms49448 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int cek(int m){ if(m%2==0)return m/2-1; return m-((m+1)/2); } int perlu(int m){ if(m%2==0)return m/2+1; return (m+1)/2; } signed main(){ int tc; cin>>tc; while(tc--){ int n,m; cin>>n>>m; pair<int,int>ans={0,0}; int hah=perlu(m); for(int q=0;q<=m;q++){ int yey=hah-(m-q); if(yey<=0){ if(q+n>ans.first+ans.second){ ans={q,n}; } continue; } int sisa=cek(n); sisa*=q; int brp=sisa/yey; if(brp+q>ans.first+ans.second){ ans={q,brp}; } } int yey=hah-(m-ans.first); int sisa=cek(n); int freq[ans.first+1]; for(int q=1;q<=ans.first;q++){ freq[q]=sisa; } char grid[n+1][m+1]; for(int q=ans.first+1;q<=m;q++){ for(int w=1;w<=n;w++){ grid[w][q]='+'; } } for(int q=1;q<=ans.first;q++){ for(int w=1;w<=n;w++){ grid[w][q]='-'; } } int lst=1; for(int q=1;q<=ans.second;q++){ int cnt=0; while(cnt<yey){ cnt++; grid[q][lst]='+'; lst++; if(lst==ans.first+1)lst=1; } } cout<<ans.first+ans.second<<endl; for(int q=1;q<=n;q++){ for(int w=1;w<=m;w++){ cout<<grid[q][w]; } cout<<endl; } } }
#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...