제출 #1156369

#제출 시각아이디문제언어결과실행 시간메모리
1156369Muhammad_AneeqRed-blue table (IZhO19_stones)C++20
0 / 100
48 ms1352 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <queue> #include <vector> #warning check the output using namespace std; int const N=1010; char ans[N][N]={}; int n,m; int check() { int a=0; for (int i=0;i<m;i++) { int z=0; for (int j=0;j<n;j++) z+=(ans[j][i]=='-'); if (z>n-z) a++; } for (int i=0;i<n;i++) { int z=0; for (int j=0;j<m;j++) z+=(ans[i][j]=='+'); a+=(z>m-z); } return a; } void print() { cout<<check()<<endl; for (int i=0;i<n;i++) { for (int j=0;j<m;j++) cout<<ans[i][j]; cout<<endl; } } inline void solve() { cin>>n>>m; for (int i=0;i<n;i++) for (int j=0;j<m;j++) ans[i][j]=' '; if (m>n) { priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>pq; for (int i=0;i<n;i++) pq.push({0,i}); for (int i=0;i<m;i++) { vector<pair<int,int>>ind; for (int j=0;j<n/2+1;j++) { ind.push_back(pq.top()); pq.pop(); } for (auto [k,j]:ind) { ans[j][i]='-'; pq.push({k+1,j}); } } for (int i=0;i<n;i++) for (int j=0;j<m;j++) if (ans[i][j]!='-') ans[i][j]='+'; int z=check(); char pr[n]; for (int i=0;i<n;i++) pr[i]=ans[i][m-1],ans[i][m-1]='+'; int g=check(); if (g>z) print(); else { for (int i=0;i<n;i++) ans[i][m-1]=pr[i]; print(); } } else { priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>>pq; for (int i=0;i<m;i++) pq.push({0,i}); for (int i=0;i<n;i++) { vector<pair<int,int>>ind; for (int j=0;j<m/2+1;j++) { ind.push_back(pq.top()); pq.pop(); } for (auto [k,j]:ind) { ans[j][i]='+'; pq.push({k+1,j}); } } for (int i=0;i<n;i++) for (int j=0;j<m;j++) if (ans[i][j]!='+') ans[i][j]='-'; int z=check(); char pr[m]; for (int i=0;i<m;i++) pr[i]=ans[n-1][i],ans[n-1][i]='-'; int g=check(); if (g>z) print(); else { for (int i=0;i<m;i++) ans[n-1][i]=pr[i]; print(); } } } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int t=1; cin>>t; for (int i=1;i<=t;i++) { solve(); } }

컴파일 시 표준 에러 (stderr) 메시지

stones.cpp:10:2: warning: #warning check the output [-Wcpp]
   10 | #warning check the output
      |  ^~~~~~~
#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...