题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
#include <stdio.h>
#include <string.h>
int main() {
int n = 0;
int x = 1;//光标指向
int flag = 1;//指向ID
char str[100];
scanf("%d", &n);
scanf("%s", str);
int len = strlen(str);
for(int i = 0; i < len; i++)
{
if(flag == n && str[i] == 'D')
{
x = 1;
flag = 1;
}
else if(flag == 1 && str[i] == 'U')
{
x = 4;
flag = n;
}
else
{
if(x == 1 && str[i] == 'U')
{
flag--;
}
else if(x == 4 && str[i] == 'D')
{
flag++;
}
else
{
if(str[i] == 'U')
{
flag--;
x--;
}
else
{
flag++;
x++;
}
}
}
}
if(n<=4)
{
for(int i = 0;i < n ;i++)
{
printf("%d ", i+1);
}
printf("\n");
}
else
{
printf("%d %d %d %d\n", flag-x+1, flag-x+2, flag-x+3, flag-x+4);
}
printf("%d\n", flag);
return 0;
}

