AHSOFNU NOIP模拟题-2 T1(模拟)

直接暴力会TLE,求余搞一下就行了,小学难度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ms(i, j) memset(i, j, sizeof i)
#define LL long long
#define FN2 "robot"
using namespace std;
const int MAXN = 5000 + 5;
char s[MAXN];
int n, T;
void clean() {}
void solve() {
clean();
scanf("%s%d", s, &T);
n = strlen(s);
int times = T / n, remains = T % n, allTotX = 0, allTotY = 0, partTotX = 0, partTotY = 0;
for (int i=0;i<n;i++) {
if (s[i]=='E') {
if (i<remains) partTotX += 1;
allTotX += 1;
}
if (s[i]=='W') {
if (i<remains) partTotX -= 1;
allTotX -= 1;
}
if (s[i]=='N') {
if (i<remains) partTotY += 1;
allTotY += 1;
}
if (s[i]=='S') {
if (i<remains) partTotY -= 1;
allTotY -= 1;
}
}
printf("%d %d\n", allTotX*times+partTotX, allTotY*times+partTotY);
}
int main() {
freopen(FN2".in", "r", stdin); freopen(FN2".out", "w", stdout);
solve();
fclose(stdin); fclose(stdout);
return 0;
}

Problem 1 机器人(robot.cpp/c/pas)
【题目描述】
早苗入手了最新的Gundam模型。最新款自然有着与以往不同的功能,那就是它能够自动行走,厉害吧。
早苗的新模型可以按照输入的命令进行移动,命令包括‘E’、‘S’、‘W’、‘N’四种,分别对应东南西北。执行某个命令时,它会向对应方向移动一个单位。作为新型机器人,它可以执行命令串。对于输入的命令串,每一秒它会按命令行动一次。执行完命令串的最后一个命令后,会自动从头开始循环。在0时刻时机器人位于(0,0)。求T秒后机器人所在位置坐标。
【输入格式】
第1行:一个字符串,表示早苗输入的命令串,保证至少有1个命令
第2行:一个正整数T
【输出格式】
2个整数,表示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);

------ 本文结束 ------