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 |
|
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 |