Submission #57340

#TimeUsernameProblemLanguageResultExecution timeMemory
57340dennisstar여왕벌 (KOI15_queen)C++11
24 / 100
5057 ms18568 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++) { if (x+j==M)l++; if (x+y+j==M)r++; if (l&&l!=r&&l<M) { if(c[j][l][0][x+j==M?1:0][1]==0) { l++; while(c[j][l][0][1][1]==0&&l<r) l++; } } if (r&&r<M) { if (l==r&&c[j][l][0][1][2]==1){ r++; while(c[j][r][1][2][2]==1&&r<M) r++; } else if (l==r) { if (c[j][r][0][1][2]==0) { r++; while(c[j][r][0][2][2]==0&&r<M) r++; l=r; } } else { if (c[j][r][1][1][2]==1) { r++; while(c[j][r][1][2][2]==1&&r<M) 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:17:12: warning: unused variable 'lp' [-Wunused-variable]
  int l, r, lp, rp;
            ^~
queen.cpp:17:16: warning: unused variable 'rp' [-Wunused-variable]
  int l, r, lp, rp;
                ^~
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:20: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...