제출 #625090

#제출 시각아이디문제언어결과실행 시간메모리
625090QwertyPi무지개나라 (APIO17_rainbow)C++14
0 / 100
2 ms700 KiB
#include "rainbow.h" #include <bits/stdc++.h> using namespace std; bool a[51][51]; int dx[4] = {0, 0, 1, -1}; int dy[4] = {1, -1, 0, 0}; int dir[256]; int bx1, bx2, by1, by2; void upd(int x, int y){ bx1 = min(bx1, x); bx2 = max(bx2, x); by1 = min(by1, y); by2 = max(by2, y); } void init(int R, int C, int sr, int sc, int M, char *S) { dir['E'] = 0; dir['W'] = 1; dir['S'] = 2; dir['N'] = 3; a[sr][sc] = true; upd(sr, sc); for(int i = 0; i < M; i++){ sr += dx[dir[S[i]]]; sc += dy[dir[S[i]]]; a[sr][sc] = true; upd(sr, sc); } } int colour(int ar, int ac, int br, int bc) { int x1 = ar, x2 = br, y1 = ac, y2 = bc; int V = 0, E = 0, SQ = 0; for(int i = x1; i <= x2; i++){ for(int j = y1; j <= y2; j++){ V += !a[i][j]; } } for(int i = x1; i <= x2; i++){ for(int j = y1; j < y2; j++){ E += !a[i][j] && !a[i][j + 1]; } } for(int i = x1; i < x2; i++){ for(int j = y1; j <= y2; j++){ E += !a[i + 1][j] && !a[i][j]; } } for(int i = x1; i < x2; i++){ for(int j = y1; j < y2; j++){ SQ += !a[i][j] && !a[i + 1][j] && !a[i][j + 1] && !a[i + 1][j + 1]; } } return V - E + SQ + (bx1 < x1 && x2 < bx2 && by1 < y1 && y2 < by2); }

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

rainbow.cpp: In function 'void init(int, int, int, int, int, char*)':
rainbow.cpp:29:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   29 |   sr += dx[dir[S[i]]];
      |                ~~~^
rainbow.cpp:30:19: warning: array subscript has type 'char' [-Wchar-subscripts]
   30 |   sc += dy[dir[S[i]]];
      |                ~~~^
#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...