제출 #1259719

#제출 시각아이디문제언어결과실행 시간메모리
1259719stanirinaAwesome Arrowland Adventure (eJOI19_adventure)C++20
0 / 100
1 ms324 KiB
#include <bits/stdc++.h> using namespace std; int rotiraj(char a, char b){ if(a=='X')return 100000; int posa,posb; if(a=='E')posa=0; else if(a=='N')posa=1; else if(a=='W')posa=2; else if(a=='S')posa=3; if(b=='E')posb=0; else if(b=='N')posb=1; else if(b=='W')posb=2; else if(b=='S')posb=3; return (posb+4-posa)%4; } int main() { int m,n; cin>>m>>n; string s1,s2; cin>>s1>>s2; vector<int> ans1(n,100000); vector<int> ans2(n,100000); ans2[n-1]=0; ans1[n-1]=rotiraj(s1[n-1],'S'); for(int i=n-2;i>=0;i--){ ans1[i]=min(ans1[i],ans1[i+1]+rotiraj(s1[i],'E')); ans1[i]=min(ans1[i],ans2[i+1]+rotiraj(s1[i],'S')+rotiraj(s2[i],'E')); ans2[i]=min(ans2[i],ans2[i+1]+rotiraj(s2[i],'E')); ans2[i]=min(ans2[i],ans1[i+1]+rotiraj(s2[i],'N')+rotiraj(s1[i],'E')); } if(ans1[0]>=6000)cout<<-1<<endl; else cout<<ans1[0]<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...