问题标题: 酷町堂:5258

0
0
已解决
张汀熹
张汀熹
中级光能
中级光能

机器人行走经验值:1200

蜀山区2019年信息学竞赛试题

 不许抄袭,一旦发现,直接清空经验!

题目描述 Description

近年来,市面上的儿童机器人越来越多,会唱歌、讲故事、人机对话是这些儿童机器人的标配,现在越来越多的机器人已经能在人类的指令下行走、跳舞。小菲菲最近拿到了一个新的新型智能机器人,菲菲的智能机器人可以按照输入的命令进行移动,命令包含’E’、‘S’、‘W’、'N’四种,分别对应四个不同的方向,依次为东、南、西、北。执行某个命令时,它会向着对应方向移动一个单位。作为新型机器人,自然不会只单单执行一个命令,它可以执行命令串。对于输入的命令串,每一秒都会按照命令行动一次。而执行完命令串最后一个命令后,会自动从头开始循环。在0时刻时菲菲将她的机器人放置在了(0,0)的位置,并且输入了命令串。她想知道T秒后她的机器人所在的位置坐标。

输入描述 Input Description

第1行:一个字符串,表示菲菲输入的命令串,保证至少有1个命令;
第2行:一个正整数T

输出描述 Output Description

第1行:两个整数,表示T秒时,菲菲机器人的坐标。

样例输入 Sample Input

NSWWNSNEEWN 12

样例输出 Sample Output

-1 3

数据范围及提示 Data Size & Hint

对于60%的数据:T<=500000且命令串长度<=5000
对于100%的数据:T<=2000000000且命令串长度<=5000
向东移动,坐标改变改变为(X+1,Y);向南移动,坐标改变改变为(X,Y-1);
向西移动,坐标改变改变为(X-1,Y);向北移动,坐标改变改变为(X,Y+1).

#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
int main(){
    string n;
    cin>>n;
    long long int t,l=n.size();
    cin>>t;
    long long int x=0,y=0;
    for(int i=0;i<t;i++){
        if(n[i%l]=='E'){
            x++;
        }
        if(n[i%l]=='S'){
            y--;
        }
        if(n[i%l]=='W'){
            x--;
        }
        if(n[i%l]=='N'){
            y++;
        }
    }
    cout<<x<<" "<<y;
    return 0;
}

 

张汀熹在2022-03-25 19:37:27追加了内容

2

Time Limit Exceeded

 

张汀熹在2022-03-25 19:43:07追加了内容

4354


0
已采纳
李雨彤
李雨彤
资深光能
资深光能

样例太大,超时了,我在想:如果他向两个相反的方向,走了同样多步,不就抵消了吗

我要回答