Deep Learning study
백준 14503문제 본문
반응형
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=a ; i<b ; i++)
int board[51][51],N,M,r,c,d,cnt;
int x[4] = {-1,0,1,0};
int y[4] = {0,1,0,-1};
bool check(int a,int b){
return a<N && b<M && a>=0 && b>=0;
}
void clean(){
if(!board[r][c]) board[r][c] = 2, cnt++;
FOR(i,0,4){
d = (d+3)%4;
if(check(r+x[d],c+y[d]) && !board[r+x[d]][c+y[d]]){
r += x[d], c += y[d];
clean();
return;
}
}
if(!check(r-x[d],c-y[d]) || board[r-x[d]][c-y[d]] == 1) return;
else r-=x[d], c-=y[d], clean();
}
int main(){
cin >> N >> M;
cin >> r >> c >> d;
FOR(i,0,N) FOR(j,0,M) cin >> board[i][j];
clean();
cout << cnt << endl;
return 0;
}
반응형
'백준 문제 코드' 카테고리의 다른 글
백준 17144문제 (0) | 2019.12.31 |
---|---|
백준 14888문제 (0) | 2019.12.31 |
백준 14889문제 (0) | 2019.12.17 |
백준 3190문제 (0) | 2019.12.16 |
백준 14500문제 (0) | 2019.12.16 |
Comments