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
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
AC × 24
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