题解 | #MP3光标位置#

MP3光标位置

https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15

#include <iostream>
using namespace std;

int main() {
    int n;
    string str;
    while(cin>>n>>str) {
        int screen[4] = {0};
        int out=1;
        if(n<=4){
            for(char it:str) {
                if(it =='U' && out==1){
                    out=n;
                }else if(it=='D' && out==n) {
                    out=1;
                }else if(it=='D'){
                    out++;
                }else{
                    out--;
                }
            }
            for(int a=0;a<n;a++)
                cout<<a+1<<" ";
            cout<<endl;
            cout<<out;
        }
        else {
            for(int a=0;a<4;a++)
                screen[a]=a+1;
            for(char it:str){
                if(it == 'U' && out==1){
                    out=n;
                    screen[3] = n;
                    screen[2] = n-1;
                    screen[1] = n-2;
                    screen[0] = n-3;
                    continue;
                }
                if(it=='D' && out==n){
                    out=1;
                    screen[3] = 4;
                    screen[2] = 3;
                    screen[1] = 2;
                    screen[0] = 1;
                    continue;
                }
                if(it == 'D'&&out!=screen[3]){
                    out++;
                    continue;
                }
                if(it == 'U' && out!=screen[0]){
                    out--;
                    continue;
                }
                if(it == 'D') {
                    out++;
                    screen[3]++;
                    screen[2]++;
                    screen[1]++;
                    screen[0]++;
                    continue;
                }
                out--;
                screen[3]--;
                screen[2]--;
                screen[1]--;
                screen[0]--;
            }
            for(int a=0;a<4;a++)
                cout<<screen[a]<<" ";
            cout<<endl;
            cout<<out;
        }
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

09-22 15:45
门头沟学院 Java
谁给娃offer我给...:我也遇到了,我说只要我通过面试我就去,实际上我根本就不会去😁
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务