zoukankan      html  css  js  c++  java
  • JZOJ 2499. 东风谷早苗

    Description

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

    Input

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

    Output

      第1 行:两个整数,表示T 秒时,钢达姆的坐标。
     

    Sample Input

    NSWWNSNEEWN
    12

    Sample Output

    -1 3
     

    Data Constraint

     
     

    Hint

    【数据范围】
      对于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);
     
    做法:考虑命令串的长度只有5000,对于T>命令串长度的情况,我们可以视为命令串先重复了T/len次,len为命令串长度,然后暴力跑就好了
     
     1 #include <cstdio>
     2 #include <iostream>
     3 #include <cstring>
     4 #include <string>
     5 #define LL long long
     6 using namespace std;
     7 string s;
     8 LL T,repeat,x,y;
     9 int len;
    10 
    11 int main(){
    12     cin>>s; len=s.size(); cin>>T;
    13     if(T>=len) repeat=T/(LL)len;
    14     for(int j=0;j<len;j++){
    15             if(s[j]=='E') x++;
    16             if(s[j]=='W') x--;
    17             if(s[j]=='N') y++;
    18             if(s[j]=='S') y--;
    19     }
    20     x*=repeat,y*=repeat;
    21     T-=len*repeat;
    22     for(int i=1;i<=T;){
    23         for(int j=0;j<len&&i<=T;j++,i++){
    24             if(s[j]=='E') x++;
    25             if(s[j]=='W') x--;
    26             if(s[j]=='N') y++;
    27             if(s[j]=='S') y--;
    28         }
    29     }
    30     cout<<x<<' '<<y;
    31 }
    View Code
  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    微信小程序TodoList
    C语言88案例-找出数列中的最大值和最小值
    C语言88案例-使用指针的指针输出字符串
  • 原文地址:https://www.cnblogs.com/traveller-ly/p/9517708.html
Copyright © 2011-2022 走看看