• MP3光标移动


    #include<iostream>
    #include<string.h>
    using namespace std;
    
    int main()
    {
        int N;
        cin>>N;
        int first = 1;
        int last = N;
    
        int start = 1;
        int length = 4;
    
        int curr = 1;
    
        char str[100];
        cin>>str;
        int num = strlen(str);
        for(int i=0; i<num; i++)
        {
            char ch = str[i];
            if(ch=='U')
            {
                if(curr == first)
                {
                    start = N<=4 ? start : last - 3;
                    curr = N;
                }
                else if(curr == start)
                {
                    start = N<=4 ? start : start - 1;
                    curr = start;
                }
                else
                {
                    curr = curr-1;
                }
            }
            else if(ch=='D')
            {
                if(curr == last)
                {
                    start = 1;
                    curr = 1;
                }
                else if(curr == start+length-1)
                {
                    start = start + 1;
                    curr = curr+1;
                }
                else
                {
                    curr = curr+1;
                }
            }
            else
            {
    
            }
        }
    
    
            for(int i=start; i<start+4; i++)
            {
                if(i<=last)
                {
                    cout<<i;
                    if(i!=start+3 && i!= last)
                    {
                        cout<<' ';
                    }
                }
            }
            cout<<endl<<curr<<endl;
    
        return 0;
    }
    

      

  • 相关阅读:
    并查集
    归并排序
    树的操作
    活动安排
    动态规划-股票交易
    网络流
    linux 展开
    linux 反引号、单引号、双引号
    linux 命令行快捷键
    判断一个点是否在三角形内部和边界上
  • 原文地址:https://www.cnblogs.com/hardsoftware/p/6236448.html
Copyright © 2020-2023  润新知