• noip模拟赛 机器人


    题目描述

    早苗入手了最新的Gundam模型。最新款自然有着与以往不同的功能,那就是它能够自动行走,厉害吧。

    早苗的新模型可以按照输入的命令进行移动,命令包括‘E’、‘S’、‘W’、‘N’四种,分别对应东南西北。执行某个命令时,它会向对应方向移动一个单位。作为新型机器人,它可以执行命令串。对于输入的命令串,每一秒它会按命令行动一次。执行完命令串的最后一个命令后,会自动从头开始循环。在0时刻时机器人位于(0,0)。求T秒后机器人所在位置坐标。

    输入输出格式

    输入格式:

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

    第2行:一个正整数T

    输出格式:

    2个整数,表示T秒时,机器人的坐标。

    输入输出样例

    输入样例#1:
    NSWWNSNEEWN
    12
    输出样例#1:
    -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);

    分析:模拟.直接一位一位的模拟肯定是不行的,但是注意到每一个周期坐标的偏移量是一定的,所以看有多少个周期就好了.

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <vector>
    #include <algorithm>
    #include <string>
    
    using namespace std;
    
    string s;
    int T, x, y,tx,ty,s1,s2;
    
    int main()
    {
        cin >> s;
        scanf("%d", &T);
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] == 'N')
                ty++;
            if (s[i] == 'S')
                ty--;
            if (s[i] == 'W')
                tx--;
            if (s[i] == 'E')
                tx++;
        }
        s1 = T / s.size();
        s2 = T % s.size();
        x = tx * s1;
        y = ty * s1;
        for (int i = 0; i < s2; i++)
        {
            if (s[i] == 'N')
                y++;
            if (s[i] == 'S')
                y--;
            if (s[i] == 'W')
                x--;
            if (s[i] == 'E')
                x++;
        }
        printf("%d %d
    ", x, y);
    
        return 0;
    }
  • 相关阅读:
    android学习日记19--四大组件之BroadcastReciver(广播接收者)
    android学习日记19--四大组件之Services(服务)
    android学习日记18--Adapter简介
    android学习日记17--Gallery(画廊视图)
    android学习日记16--GridView(网格视图)
    android学习日记15--WebView(网络视图)
    android学习日记14--网络通信
    android报错及解决2--Sdcard进行文件的读写操作报的异常
    android学习日记13--数据存储之File存储
    自定义跨浏览器的事件处理程序
  • 原文地址:https://www.cnblogs.com/zbtrs/p/7537003.html
Copyright © 2020-2023  润新知