Submission #20668
Source Code Expand
#include<queue>
#include<cstdio>
#include<algorithm>
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
const int INF=1<<29;
const int dx[]={1,0,-1,0},dy[]={0,-1,0,1};
int h,w;
char B[500][501];
int bfs(int sx,int sy,int gx,int gy){
int d[500][500];
rep(i,h) rep(j,w) d[i][j]=INF;
d[sy][sx]=0;
queue< pair<int,int> > Q;
Q.push(make_pair(sy,sx));
while(!Q.empty()){
int y=Q.front().first,x=Q.front().second; Q.pop();
if(y==gy && x==gx) return d[y][x];
rep(k,4){
int yy=y+dy[k],xx=x+dx[k];
if(0<=yy && yy<h && 0<=xx && xx<w && B[yy][xx]!='#' && d[yy][xx]==INF){
d[yy][xx]=d[y][x]+1;
Q.push(make_pair(yy,xx));
}
}
}
return -INF;
}
int main(){
scanf("%d%d",&h,&w);
rep(i,h) scanf("%s",B[i]);
int sx,sy,cx,cy,gx,gy;
rep(i,h) rep(j,w) {
if(B[i][j]=='S') sx=j, sy=i;
if(B[i][j]=='C') cx=j, cy=i;
if(B[i][j]=='G') gx=j, gy=i;
}
printf("%d\n",max(bfs(sx,sy,cx,cy)+bfs(cx,cy,gx,gy),-1));
return 0;
}
Submission Info
Submission Time
2012-06-02 14:26:47+0900
Task
C - 自宅からの脱出
User
fura2
Language
C++ (G++ 4.6.4)
Score
100
Code Size
1012 Byte
Status
AC
Exec Time
44 ms
Memory
1944 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:40:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:41:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
Set Name
All
Score / Max Score
100 / 100
Status
Set Name
Test Cases
All
input_0.txt, input_1.txt, input_10.txt, input_11.txt, input_12.txt, input_13.txt, input_14.txt, input_15.txt, input_16.txt, input_17.txt, input_18.txt, input_19.txt, input_2.txt, input_20.txt, input_21.txt, input_22.txt, input_23.txt, input_3.txt, input_4.txt, input_5.txt, input_6.txt, input_7.txt, input_8.txt, input_9.txt
Case Name
Status
Exec Time
Memory
input_0.txt
AC
21 ms
768 KB
input_1.txt
AC
20 ms
780 KB
input_10.txt
AC
20 ms
816 KB
input_11.txt
AC
21 ms
820 KB
input_12.txt
AC
21 ms
792 KB
input_13.txt
AC
23 ms
1932 KB
input_14.txt
AC
30 ms
1916 KB
input_15.txt
AC
44 ms
1940 KB
input_16.txt
AC
24 ms
1812 KB
input_17.txt
AC
41 ms
1912 KB
input_18.txt
AC
21 ms
1008 KB
input_19.txt
AC
22 ms
1044 KB
input_2.txt
AC
21 ms
796 KB
input_20.txt
AC
22 ms
1076 KB
input_21.txt
AC
35 ms
1916 KB
input_22.txt
AC
25 ms
1944 KB
input_23.txt
AC
25 ms
1912 KB
input_3.txt
AC
21 ms
788 KB
input_4.txt
AC
20 ms
764 KB
input_5.txt
AC
20 ms
788 KB
input_6.txt
AC
21 ms
784 KB
input_7.txt
AC
20 ms
760 KB
input_8.txt
AC
21 ms
788 KB
input_9.txt
AC
21 ms
780 KB