这几天到处闲逛,某人给我推荐了这道题~题目挺有意思的:

918. [東方S1] 东风谷早苗

★   输入文件:android.in   输出文件:android.out   简单对比时间限制:1 s   内存限制:64 MB

Problem 1 东风谷早苗(android.cpp/c/pas)
题目描述 在幻想乡,东风谷早苗是以高达控闻名的高中生宅巫女。某一天,早苗终于入手了最新款的钢达姆模型。作为最新的钢达姆,当然有了与以往不同的功能了,那就是它能够自动行走,厉害吧(好吧,我自重)。早苗的新模型可以按照输入的命令进行移动,命令包含’E’、’S’、’W’、’N’四种,分别对应四个不同的方向,依次为东、南、西、北。执行某个命令时,它会向着对应方向移动一个单位。作为新型机器人,自然不会只单单执行一个命令,它可以执行命令串。对于输入的命令串,每一秒它会按照命令行动一次。而执行完命令串最后一个命令后,会自动从头开始循环。在0时刻时早苗将钢达姆放置在了(0,0)的位置,并且输入了命令串。她想要知道T秒后钢达姆所在的位置坐标。
输入格式 第1行:一个字符串,表示早苗输入的命令串,保证至少有1个命令

第2行:一个正整数T

输出格式 第1行:两个整数,表示T秒时,钢达姆的坐标
输入样例 NSWWNSNEEWN

12

输出样例 -1 3
数据范围 对于60%的数据:T <= 500,000且命令串长度 <= 5,000

对于100%的数据:T <= 2,000,000,000且命令串长度<= 5,000

注意 向东移动,坐标改变改变为(X+1,Y);

向南移动,坐标改变改变为(X,Y-1);

向西移动,坐标改变改变为(X-1,Y);

向北移动,坐标改变改变为(X,Y+1);

还送了幅图:

嗯,被标题和图片骗进来的,把图收下,继续看吧:)

水一把,1A了。

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
freopen("android.in","r",stdin);
freopen("android.out","w",stdout);
char shit[5005];
scanf("%s",shit);
// printf("*%s*n",shit) ;
int len=strlen(shit);
int u=0,r=0;
for (int i=0;i<len;i++){
if (shit[i]=='N') u++;
if (shit[i]=='S') u--;
if (shit[i]=='W') r--;
if (shit[i]=='E') r++;
// cout<<r<<','<<u<<endl;
}
// cout<<"shit:"<<len<<endl;
int time;
cin>>time;
int stayback=time%len;
r*=time/len+1;
u*=time/len+1;
for (int i=len-1;i>stayback-1;i--){
// cout<<i<<endl;
if (shit[i]=='N') u--;
if (shit[i]=='S') u++;
if (shit[i]=='W') r++;
if (shit[i]=='E') r--;
}
cout<<r<<' '<<u<<endl;
return 0;
}

到此一游。

QQ图片20160225203536