比赛 |
东方幻想乡 S1 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
东风谷早苗 |
最终得分 |
100 |
用户昵称 |
Makazeu |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2012-08-07 20:10:13 |
显示代码纯文本
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#define East 0
#define West 1
#define South 2
#define North 3
using namespace std;
string str;
int N,len,X=0,Y=0;
int step[4][2]={{1,0},{-1,0},{0,-1},{0,1}};
int HX,HY;
int main()
{
freopen("android.in","r",stdin);
freopen("android.out","w",stdout);
std::ios::sync_with_stdio(false);
cin>>str>>N;
len=str.length();
for(int i=1;i<=len;i++)
{
switch(str[i-1])
{
case'E':X+=step[East][0],Y+=step[East][1];break;
case'W':X+=step[West][0],Y+=step[West][1];break;
case'S':X+=step[South][0],Y+=step[South][1];break;
case'N':X+=step[North][0],Y+=step[North][1];break;
}
}
HX=X,HY=Y;
X=(N/len)*HX;
Y=(N/len)*HY;
N%=len;
for(int i=1;i<=N;i++)
{
switch(str[i-1])
{
case'E':X+=step[East][0],Y+=step[East][1];break;
case'W':X+=step[West][0],Y+=step[West][1];break;
case'S':X+=step[South][0],Y+=step[South][1];break;
case'N':X+=step[North][0],Y+=step[North][1];break;
}
}
printf("%d %d\n",X,Y);
return 0;
}