Submission #61048


Source Code Expand

#include<queue>
#include<cstdio>
#include<climits>
#include<cstring>

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

using namespace std;

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

struct state{
	int t,x,y,k;
	bool operator<(const state &S)const{ return true; } // dummy
};

int main(){
	int h,w,n;
	char s[101]; scanf("%d%d%d%s",&h,&w,&n,s);
	static char B[100][101];
	rep(i,h) scanf("%s",B[i]);

	static short dp[101][100][100][4];
	rep(t,n+1) rep(i,h) rep(j,w) rep(k,4) dp[t][i][j][k]=SHRT_MAX;

	priority_queue< pair<int,state> > Q;
	rep(i,h) rep(j,w) rep(k,2) Q.push(make_pair(0,(state){0,j,i,k})), dp[0][i][j][k]=0;
	while(!Q.empty()){
		const state &S=Q.top().second; Q.pop();

		if(S.t==n){
			printf("%d\n",dp[S.t][S.y][S.x][S.k]);
			return 0;
		}

		rep(k2,4) if(k2!=S.k) {
			int x=S.x,y=S.y,cost=0;
			while(0<=x && x<w && 0<=y && y<h){
				x+=dx[k2];
				y+=dy[k2];
				cost++;
				int dp_next=dp[S.t][S.y][S.x][S.k]+cost;
				if(B[y][x]==s[S.t]){
					if(dp[S.t+1][y][x][k2]>dp_next){
						dp[S.t+1][y][x][k2]=dp_next;
						Q.push(make_pair(-dp_next,(state){S.t+1,x,y,k2}));
					}
					break;
				}
			}
		}
	}

	puts("-1");

	return 0;
}

Submission Info

Submission Time
Task F - 僕は宇宙人
User fura2
Language C++ (G++ 4.6.4)
Score 100
Code Size 1210 Byte
Status AC
Exec Time 103 ms
Memory 9336 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:19:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:21: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 × 55
Set Name Test Cases
All case_000.txt, case_001.txt, case_002.txt, case_003.txt, case_004.txt, case_005.txt, case_006.txt, case_007.txt, case_008.txt, case_009.txt, case_010.txt, case_011.txt, case_012.txt, case_013.txt, case_014.txt, case_015.txt, case_016.txt, case_017.txt, case_018.txt, case_019.txt, case_020.txt, case_021.txt, case_022.txt, case_023.txt, case_024.txt, case_025.txt, case_026.txt, case_027.txt, case_028.txt, case_029.txt, case_030.txt, case_031.txt, case_032.txt, case_033.txt, case_034.txt, case_035.txt, case_036.txt, case_037.txt, case_038.txt, case_039.txt, case_040.txt, case_041.txt, case_042.txt, case_043.txt, case_044.txt, case_045.txt, case_046.txt, case_047.txt, case_048.txt, case_049.txt, case_050.txt, case_051.txt, case_052.txt, case_053.txt, case_054.txt
Case Name Status Exec Time Memory
case_000.txt AC 20 ms 780 KB
case_001.txt AC 20 ms 784 KB
case_002.txt AC 21 ms 632 KB
case_003.txt AC 21 ms 784 KB
case_004.txt AC 20 ms 788 KB
case_005.txt AC 20 ms 764 KB
case_006.txt AC 19 ms 784 KB
case_007.txt AC 19 ms 784 KB
case_008.txt AC 21 ms 780 KB
case_009.txt AC 21 ms 920 KB
case_010.txt AC 21 ms 1040 KB
case_011.txt AC 19 ms 912 KB
case_012.txt AC 20 ms 780 KB
case_013.txt AC 98 ms 9336 KB
case_014.txt AC 103 ms 9320 KB
case_015.txt AC 55 ms 6036 KB
case_016.txt AC 33 ms 2712 KB
case_017.txt AC 36 ms 3228 KB
case_018.txt AC 30 ms 3376 KB
case_019.txt AC 42 ms 5172 KB
case_020.txt AC 24 ms 1540 KB
case_021.txt AC 23 ms 1428 KB
case_022.txt AC 26 ms 1648 KB
case_023.txt AC 28 ms 2708 KB
case_024.txt AC 38 ms 3568 KB
case_025.txt AC 22 ms 1268 KB
case_026.txt AC 27 ms 1936 KB
case_027.txt AC 31 ms 6328 KB
case_028.txt AC 27 ms 3444 KB
case_029.txt AC 31 ms 2952 KB
case_030.txt AC 51 ms 4460 KB
case_031.txt AC 46 ms 5772 KB
case_032.txt AC 31 ms 3984 KB
case_033.txt AC 26 ms 1804 KB
case_034.txt AC 22 ms 1428 KB
case_035.txt AC 52 ms 6672 KB
case_036.txt AC 27 ms 4788 KB
case_037.txt AC 34 ms 4240 KB
case_038.txt AC 26 ms 2616 KB
case_039.txt AC 37 ms 1816 KB
case_040.txt AC 64 ms 7440 KB
case_041.txt AC 40 ms 6804 KB
case_042.txt AC 23 ms 1032 KB
case_043.txt AC 28 ms 4116 KB
case_044.txt AC 21 ms 1172 KB
case_045.txt AC 22 ms 1176 KB
case_046.txt AC 21 ms 1164 KB
case_047.txt AC 50 ms 6264 KB
case_048.txt AC 30 ms 1920 KB
case_049.txt AC 25 ms 3188 KB
case_050.txt AC 36 ms 3596 KB
case_051.txt AC 28 ms 4276 KB
case_052.txt AC 39 ms 3728 KB
case_053.txt AC 28 ms 3512 KB
case_054.txt AC 24 ms 2488 KB