제출 #599381

#제출 시각아이디문제언어결과실행 시간메모리
599381jmyszka2007Furniture (JOI20_furniture)C++17
0 / 100
5077 ms724 KiB
#include <bits/stdc++.h> using namespace std; bool to[1010][1010]; bool from[1010][1010]; int cnt[2010]; int meb[1010][1010]; int n, m; void dfst(int x, int y) { if(x > n || y > m) { return; } to[x][y] = 0; if(!to[x - 1][y + 1]) { dfst(x + 1, y); } if(!to[x + 1][y - 1]) { dfst(x, y + 1); } if(from[x][y]) { cnt[x + y]--; } } void dfsf(int x, int y) { if(x < 1 || y < 1) { return; } from[x][y] = 0; if(!from[x - 1][y + 1]) { dfsf(x - 1, y); } if(!from[x + 1][y - 1]) { dfsf(x, y - 1); } if(to[x][y]) { cnt[x + y]--; } } int main() { scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { scanf("%d", &meb[i][j]); } } to[1][1] = 1; from[n][m] = 1; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { if(!meb[i][j]) { if(to[i - 1][j] || to[i][j - 1]) { to[i][j] = 1; } } } } for(int i = n; i >= 1; i--) { for(int j = m; j >= 1; j--) { if(!meb[i][j]) { if(from[i + 1][j] || from[i][j + 1]) { from[i][j] = 1; } } } } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(to[i][j] && from[i][j]) { cnt[i + j]++; } } } int t; scanf("%d", &t); while(t--) { int a, b; scanf("%d%d", &a, &b); if(cnt[a + b] > 1 || !to[a][b] || !from[a][b]) { printf("%d\n", 1); dfst(a, b); dfsf(a, b); } else { printf("%d\n", 0); } } }

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

furniture.cpp: In function 'int main()':
furniture.cpp:39:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |  scanf("%d%d", &n, &m);
      |  ~~~~~^~~~~~~~~~~~~~~~
furniture.cpp:42:9: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |    scanf("%d", &meb[i][j]);
      |    ~~~~~^~~~~~~~~~~~~~~~~~
furniture.cpp:73:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   73 |  scanf("%d", &t);
      |  ~~~~~^~~~~~~~~~
furniture.cpp:76:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   76 |   scanf("%d%d", &a, &b);
      |   ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...