# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
133985 | CaroLinda | Tracks in the Snow (BOI13_tracks) | C++14 | 2045 ms | 13432 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define MAXN 510
#define lp(i,a,b) for(int i=a;i<b;i++)
using namespace std ;
int n , m ;
int mat[MAXN][MAXN] ;
int dx[4] = {1,0,-1,0} ;
int dy[4] = {0,-1,0,1} ;
bool valid(int x, int y)
{ return (x>=0 && x< n && y>=0 && y<m) ; }
int tot = 0 ;
int dfs(int x , int y , int busco)
{
tot ++ ;
mat[x][y] = !busco ;
lp(i,0,4)
{
int a = x + dx[i] ;
int b = y+dy[i] ;
if( !valid(a,b) || mat[a][b] != busco ) continue ;
dfs(a,b,busco) ;
}
}
int main()
{
scanf("%d%d", &n , &m ) ;
lp(i,0,n)
lp(j,0,m)
{
char c ;
scanf(" %c", &c ) ;
mat[i][j] = (c=='R' ? 0 : 1) ;
}
int ant = 0 , animal = 0 ;
while(true)
{
tot = 0 ;
dfs(0,0,mat[0][0]) ;
if( ant == tot ) break ;
animal ++ ;
ant = tot ;
}
printf("%d\n" , animal ) ;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |