Submission #173458

#TimeUsernameProblemLanguageResultExecution timeMemory
173458juggernautRed-blue table (IZhO19_stones)C++14
100 / 100
33 ms2296 KiB
//Just try and the idea will come! #include<bits/stdc++.h> using namespace std; int t,n,m,cnt[1001]; bool a[1001][1001]; int run1(){ int res=m,i,j,last=1,cur,mid; for(i=1;i<=n;i++) for(j=1;j<=m;j++)a[i][j]=false,cnt[j]=n; for(i=1;i<=n;i++){ cur=last; mid=(m>>1)+1; while(mid){ if(cnt[cur]>n/2+1){ cnt[cur]--; a[i][cur]=true; mid--; } cur++; if(cur==m+1)cur=1; if(cur==last)break; } if(mid==0)res++,last=cur;else break; } return res; } int run2(){ int res=n,i,j,last=1,cur,mid; for(i=1;i<=n;i++) for(j=1;j<=m;j++)a[i][j]=true,cnt[i]=m; for(i=1;i<=m;i++){ cur=last; mid=(n>>1)+1; while(mid){ if(cnt[cur]>m/2+1){ cnt[cur]--; a[cur][i]=false; mid--; } cur++; if(cur==n+1)cur=1; if(cur==last)break; } if(mid==0)res++,last=cur;else break; } return res; } int main(){ scanf("%d",&t); while(t--){ scanf("%d%d",&n,&m); if(run1()>run2())printf("%d\n",run1()); else printf("%d\n",run2()); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++)if(a[i][j])putchar('+'); else putchar('-'); puts(""); } } }

Compilation message (stderr)

stones.cpp: In function 'int main()':
stones.cpp:49:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&t);
     ~~~~~^~~~~~~~~
stones.cpp:51:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&n,&m);
         ~~~~~^~~~~~~~~~~~~~
#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...