Submission #382204

#TimeUsernameProblemLanguageResultExecution timeMemory
382204BartolMRed-blue table (IZhO19_stones)C++17
69 / 100
81 ms8684 KiB
#include <bits/stdc++.h> using namespace std; #define X first #define Y second #define mp make_pair #define pb push_back typedef long long ll; typedef pair <int, int> pii; typedef pair <int, pii> pip; typedef pair <pii, int> ppi; typedef pair <ll, ll> pll; const int INF=0x3f3f3f3f; const int N=1005; int n, m, fl; int mat[N][N], pom[N][N], red[N], stup[N]; void mali_stup() { return; } void poseban_4() { for (int i=0; i<n; ++i) mat[i][0]=1; } void poseb56() { for (int i=0; i<n; ++i) { for (int j=m/2; j<m; ++j) mat[i][j]=1; int j=m/2+i%3; mat[i][j]=0; } } void pos_stup() { for (int i=0; i<n; ++i) { for (int j=0; j<m/2-!(m%2); ++j) mat[i][j]=1; } } void reset() { for (int i=0; i<n; ++i) for (int j=0; j<m; ++j) pom[i][j]=mat[i][j]=0; } void rotiraj() { for (int i=0; i<n; ++i) for (int j=0; j<m; ++j) pom[j][n-i-1]=mat[i][j]; swap(n, m); for (int i=0; i<n; ++i) for (int j=0; j<m; ++j) mat[i][j]=!pom[i][j]; } void solve() { int gr_m=m-1-!(m%2); int gr_n=n-1-!(n%2); for (int i=0; i<gr_n; ++i) { for (int j=i%2; j<gr_m; j+=2) mat[i][j]=1; } for (int i=gr_n; i<n; ++i) { for (int j=0; j<m; ++j) mat[i][j]=1; } } void ispis() { int sol=0; for (int j=0; j<m; ++j) stup[j]=0; for (int i=0; i<n; ++i) { red[i]=0; for (int j=0; j<m; ++j) { red[i]+=!mat[i][j]; stup[j]+=mat[i][j]; } sol+=red[i] > m/2; } for (int j=0; j<m; ++j) sol+=stup[j] > n/2; printf("%d\n", sol); for (int i=0; i<n; ++i) { for (int j=0; j<m; ++j) printf("%c", mat[i][j] ? '-' : '+'); printf("\n"); } } int main() { int t; scanf("%d", &t); while (t--) { scanf("%d %d", &n, &m); fl=n<m; if (fl) swap(n, m); if (m<=2) mali_stup(); else if (n==4) poseban_4(); else if (m<=4) pos_stup(); else if (m<=6) poseb56(); else if (m>=3) solve(); if (fl) rotiraj(); ispis(); reset(); if (fl) { swap(n, m); reset(); } } return 0; }

Compilation message (stderr)

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