Submission #57290

#TimeUsernameProblemLanguageResultExecution timeMemory
57290dennisstar여왕벌 (KOI15_queen)C++11
34 / 100
5067 ms83776 KiB
#include <bits/stdc++.h> int M, N; char c[710][710][3][3][3]; int sum[710][710]; int main() { int i, j, k; scanf("%d %d", &M, &N); for (i=1; i<M; i++) for (j=1; j<M; j++) for (k=0; k<27; k++) scanf(" %c", &c[i][j][k/9][(k%9)/3][k%3]); int x, y, z; for (i=1; i<M; i++) for (j=1; j<M; j++) for (x=0; x<3; x++) for (y=0; y<3; y++) for (z=0; z<3; z++) { if (c[i][j][x][y][z]=='L') c[i][j][x][y][z]=x; else if (c[i][j][x][y][z]=='D') c[i][j][x][y][z]=y; else c[i][j][x][y][z]=z; } int l, r, lp, rp; for (i=0; i<N; i++) { scanf("%d %d %d", &x, &y, &z); l=(x<M?0:x-M+1); r=(x+y<M?0:x+y-M+1); sum[0][l]++, sum[0][r]++; for (j=1; j<M; j++) { lp=l, rp=r; if (x+y+j==M) r++; if (x+j==M) l++; if (l==r) { if (r) for (; r<M; r++) if (c[j][r][0][r-1<rp?r-1<lp?0:1:2][2]==2) break; sum[j][r]+=2; l=r; } else { if (l) for (; l<=rp+1; l++) if (c[j][l][0][(l-1<rp?l-1<lp?0:1:2)][(l<rp?l<lp?0:1:2)]==1) break; if (l>rp+1) {for (; r<M; r++) if (c[j][r][0][r-1<rp?r-1<lp?0:1:2][2]==2) break;} else {for (; r<M; r++) if (c[j][r][(r-1<l?0:1)][(r-1<rp?r-1<lp?0:1:2)][2]==2) break;} if (l>rp+1) l=r; sum[j][l]++, sum[j][r]++; } } } for (i=0; i<M; i++) { for (j=1; j<M; j++) { sum[i][j]+=sum[i][j-1]; } } for (i=0; i<M; i++) { for (j=0; j<M; j++) { printf("%d ", sum[i][j]+1); } puts(""); } return 0; }

Compilation message (stderr)

queen.cpp: In function 'int main()':
queen.cpp:8:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &M, &N);
  ~~~~~^~~~~~~~~~~~~~~~~
queen.cpp:9:68: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (i=1; i<M; i++) for (j=1; j<M; j++) for (k=0; k<27; k++) scanf(" %c", &c[i][j][k/9][(k%9)/3][k%3]);
                                                               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
queen.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d %d", &x, &y, &z);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#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...