分析
这题居然算TG T3难度?
#include <iostream> #include <cstdio> #include <cstring> using namespace std; typedef long long ll; struct Point { ll x,y; }d[5001],ans; char s[5001]; ll t,len,times; int main() { scanf("%s",&s); scanf("%lld",&t); len=strlen(s); for (int i=0;i<len;i++) switch (s[i]) { case 'N':{ d[i+1]=d[i]; d[i+1].y++; break; } case 'S':{ d[i+1]=d[i]; d[i+1].y--; break; } case 'W':{ d[i+1]=d[i]; d[i+1].x--; break; } case 'E':{ d[i+1]=d[i]; d[i+1].x++; break; } default:{ break; } } times=t/len; t%=len; ans.x=d[len].x*times+d[t].x; ans.y=d[len].y*times+d[t].y; printf("%lld %lld",ans.x,ans.y); }