Submission #549301

#TimeUsernameProblemLanguageResultExecution timeMemory
549301krit3379Red-blue table (IZhO19_stones)C++17
15 / 100
100 ms4048 KiB
#include<bits/stdc++.h> using namespace std; #define N 1005 int board[N][N],cnt[N]; priority_queue<pair<int,int>> q; void sol(){ int n,m,nn,mm,ma,ans,a,i,j,cou,flag=false; scanf("%d %d",&n,&m); if(n<m)swap(n,m),flag=true; nn=n/2+1; mm=m/2+1; ans=0,ma=a=n; for(i=1;i<=n;i++){ for(j=1;j<=m;j++)board[i][j]=0; cnt[i]=m; } for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ q.push({cnt[j],j}); } cou=nn; while(!q.empty()&&cou>0){ auto [x,y]=q.top(); q.pop(); if(cnt[y]--==mm)a--; board[y][i]=1; cou--; } if(a+i>ma)ma=a+i,ans=i; while(!q.empty())q.pop(); } printf("%d\n",ma); if(!flag){ for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(j<=ans)printf("%c",board[i][j]?'-':'+'); else printf("+"); } printf("\n"); } } else{ for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ if(i<=ans)printf("%c",board[i][j]?'-':'+'); else printf("+"); } printf("\n"); } } } int main(){ int t; scanf("%d",&t); while(t--)sol(); return 0; }

Compilation message (stderr)

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