제출 #334713

#제출 시각아이디문제언어결과실행 시간메모리
334713ivan_tudorRed-blue table (IZhO19_stones)C++14
100 / 100
81 ms5356 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e3 + 5; int mat[N][N]; // +1 + -1 - void print(int n, int m, bool flip){ if(flip) swap(n, m); for(int i=1; i<=n; i++){ for(int j=1; j<=m;j++){ char out; if(flip){ if(mat[j][i] * (-1) == 1) out = '+'; else out = '-'; } else{ if(mat[i][j] == 1) out = '+'; else out = '-'; } cout<<out; } cout<<"\n"; } } inline int mid(int n){ int m = n/2; while(m <= n- m) m++; return m; } int extra[N]; void solve(){ int n, m; bool flip = false; cin>>n>>m; if(n > m){ swap(n, m); flip = true; } for(int i=1;i<=n;i++){ for(int j =1; j<=m;j++) mat[i][j] = -1; } for(int i=1;i<=m;i++){ extra[i] = n - mid(n); } int ans = m; for(int i=1; i<=n;i++){ priority_queue<pair<int, int>> pq; for(int j = 1; j<=m;j++){ if(extra[j]){ pq.push({extra[j], j}); } } int k = mid(m); if(pq.size() <k ) break; while(k--){ auto x = pq.top(); pq.pop(); mat[i][x.second] = 1; extra[x.second]--; } ans++; } cout<<ans<<"\n"; print(n, m , flip); } int main() { //freopen(".in","r",stdin); ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int nrt; cin>>nrt; for(int i=1;i<=nrt;i++){ solve(); } return 0; }

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

stones.cpp: In function 'void solve()':
stones.cpp:59:18: warning: comparison of integer expressions of different signedness: 'std::priority_queue<std::pair<int, int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   59 |     if(pq.size() <k )
      |        ~~~~~~~~~~^~
#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...