Japan Alumni Group Summer Camp 2014 Day 4

Submission #232070

Source codeソースコード

#include <cstdio>
#include <cstring>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

const int dx[]={1,1,0,-1,-1,-1,0,1};
const int dy[]={0,-1,-1,-1,0,1,1,1};

int main(){
	int h,w; scanf("%d%d",&h,&w);
	char B[52][53];
	rep(i,h) scanf("%s",B[i+1]+1);
	rep(j,w+2) B[0][j]=B[h+1][j]='#';
	rep(i,h+2) B[i][0]=B[i][w+1]='#';
	h+=2;
	w+=2;

	int i0,j0;
	rep(i,h) rep(j,w) if(strchr("^v<>",B[i][j])) i0=i, j0=j;
	int dir0;
	if     (B[i0][j0]=='^') dir0=2;
	else if(B[i0][j0]=='v') dir0=6;
	else if(B[i0][j0]=='<') dir0=4;
	else                    dir0=0;
	B[i0][j0]='.';
	int hand0=(dir0+6)%8;

	bool vis[52][52]={};
	int i=i0,j=j0,dir=dir0,hand=hand0;
	rep(_,1000000){
		vis[i][j]=true;

		if(B[i][j]=='G'){
			int ans=0;
			rep(y,h) rep(x,w) if(vis[y][x]) ans++;
			printf("%d\n",ans);
			return 0;
		}

		if(B[i+dy[(dir+6)%8]][j+dx[(dir+6)%8]]!='#'){
			dir=(dir+6)%8;
			i+=dy[dir];
			j+=dx[dir];
			continue;
		}

		if(B[i+dy[dir]][j+dx[dir]]!='#'){
			i+=dy[dir];
			j+=dx[dir];
			continue;
		}

		dir=(dir+2)%8;
	}

	puts("-1");

	return 0;
}

Submission

Task問題 B - 不審者
User nameユーザ名 fura
Created time投稿日時
Language言語 C++ (GCC 4.4.7)
Status状態 AC
Score得点 100
Source lengthソースコード長 1124 Byte
File nameファイル名
Exec time実行時間 38 ms
Memory usageメモリ使用量 928 KB

Compiler messageコンパイルメッセージ

./Main.cpp: In function ‘int main()’:
./Main.cpp:12: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
./Main.cpp:14: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result

Test case

Set

Set name Score得点 / Max score Cases
All 100 / 100 05_test_00,05_test_01,05_test_02,05_test_03,10_dir_00,10_dir_01,10_dir_02,10_dir_03,10_dir_10,10_dir_11,10_dir_12,10_dir_13,10_dir_20,10_dir_21,10_dir_22,10_dir_23,15_test_01,15_test_02,15_test_03,15_test_04,15_test_05,15_test_06,15_test_07,15_test_08,15_test_09,15_test_10,20_Wall10_00,20_Wall10_01,20_Wall10_02,20_Wall10_03,20_Wall10_04,20_Wall20_00,20_Wall20_01,20_Wall20_02,20_Wall20_03,20_Wall20_04,20_Wall30_00,20_Wall30_01,20_Wall30_02,20_Wall30_03,20_Wall30_04,20_Wall40_00,20_Wall40_01,20_Wall40_02,20_Wall40_03,20_Wall40_04,25_Continent_00,25_Continent_01,25_Continent_02,25_Continent_03,25_Continent_04,27_Continent_00,27_Continent_01,27_Continent_02,27_Continent_03,27_Continent_04,30_Maximum_00,30_Maximum_01,35_Maximum_00,35_Maximum_01

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
05_test_00 AC 23 ms 928 KB
05_test_01 AC 22 ms 796 KB
05_test_02 AC 36 ms 672 KB
05_test_03 AC 23 ms 800 KB
10_dir_00 AC 24 ms 792 KB
10_dir_01 AC 26 ms 800 KB
10_dir_02 AC 25 ms 924 KB
10_dir_03 AC 23 ms 672 KB
10_dir_10 AC 23 ms 800 KB
10_dir_11 AC 24 ms 676 KB
10_dir_12 AC 24 ms 840 KB
10_dir_13 AC 24 ms 800 KB
10_dir_20 AC 24 ms 800 KB
10_dir_21 AC 22 ms 920 KB
10_dir_22 AC 24 ms 800 KB
10_dir_23 AC 22 ms 928 KB
15_test_01 AC 34 ms 800 KB
15_test_02 AC 22 ms 668 KB
15_test_03 AC 22 ms 800 KB
15_test_04 AC 23 ms 800 KB
15_test_05 AC 24 ms 796 KB
15_test_06 AC 23 ms 800 KB
15_test_07 AC 22 ms 796 KB
15_test_08 AC 23 ms 676 KB
15_test_09 AC 36 ms 668 KB
15_test_10 AC 23 ms 800 KB
20_Wall10_00 AC 34 ms 668 KB
20_Wall10_01 AC 25 ms 792 KB
20_Wall10_02 AC 38 ms 732 KB
20_Wall10_03 AC 25 ms 792 KB
20_Wall10_04 AC 25 ms 664 KB
20_Wall20_00 AC 36 ms 792 KB
20_Wall20_01 AC 25 ms 792 KB
20_Wall20_02 AC 37 ms 792 KB
20_Wall20_03 AC 25 ms 924 KB
20_Wall20_04 AC 36 ms 796 KB
20_Wall30_00 AC 36 ms 796 KB
20_Wall30_01 AC 25 ms 732 KB
20_Wall30_02 AC 25 ms 796 KB
20_Wall30_03 AC 32 ms 796 KB
20_Wall30_04 AC 26 ms 672 KB
20_Wall40_00 AC 33 ms 800 KB
20_Wall40_01 AC 38 ms 800 KB
20_Wall40_02 AC 35 ms 800 KB
20_Wall40_03 AC 36 ms 796 KB
20_Wall40_04 AC 37 ms 800 KB
25_Continent_00 AC 23 ms 800 KB
25_Continent_01 AC 36 ms 800 KB
25_Continent_02 AC 24 ms 920 KB
25_Continent_03 AC 24 ms 800 KB
25_Continent_04 AC 33 ms 808 KB
27_Continent_00 AC 23 ms 800 KB
27_Continent_01 AC 23 ms 800 KB
27_Continent_02 AC 23 ms 924 KB
27_Continent_03 AC 24 ms 800 KB
27_Continent_04 AC 22 ms 924 KB
30_Maximum_00 AC 23 ms 796 KB
30_Maximum_01 AC 24 ms 700 KB
35_Maximum_00 AC 22 ms 800 KB
35_Maximum_01 AC 24 ms 800 KB