제출 #529670

#제출 시각아이디문제언어결과실행 시간메모리
529670c28dnv9q3Nautilus (BOI19_nautilus)C++17
66 / 100
1080 ms972 KiB
#include <stdio.h> char grid[505][505]; bool dp[2][505][505]; int main() { int R, C, M; scanf("%d %d %d", &R, &C, &M); for(int r = 0; r < R; r++) { for(int c = 0; c < C; c++) { for(grid[r][c] = getchar(); grid[r][c] != '.' && grid[r][c] != '#'; grid[r][c] = getchar()); dp[0][r][c] = (grid[r][c] == '.'); } } int g = 1, pg = 0; for(int i = 0; i < M; i++) { char m; for(m = getchar(); m != 'N' && m != 'E' && m != 'S' && m != 'W' && m != '?' ; m = getchar()); for(int r = 0; r < R; r++) { for(int c = 0; c < C; c++) { dp[g][r][c] = false; if(grid[r][c] != '.') continue; if((m == '?' || m == 'N') && r < R-1) dp[g][r][c] |= dp[pg][r+1][c]; if((m == '?' || m == 'E') && c > 0) dp[g][r][c] |= dp[pg][r][c-1]; if((m == '?' || m == 'S') && r > 0) dp[g][r][c] |= dp[pg][r-1][c]; if((m == '?' || m == 'W') && c < C-1) dp[g][r][c] |= dp[pg][r][c+1]; } } pg = g; g = (g+1) % 2; } int pc = 0; for(int r = 0; r < R; r++) { for(int c = 0; c < C; c++) { if(dp[pg][r][c]) pc++; } } printf("%d\n", pc); return 0; }

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

nautilus.cpp: In function 'int main()':
nautilus.cpp:8:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |     scanf("%d %d %d", &R, &C, &M);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...