题解 | #MP3光标位置#
MP3光标位置
https://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
#include <iostream>
#include <string.h>
using namespace std;
int main() {
int n,u,d,x=1,k=1;
string s;
cin>>n;
cin>>s;
for(int i=0;i<s.length();i++){
if(s[i]=='U'){
if(x==1){
if(n<=4) {
x=n;
k=n;
}
else if(k==1) {
x=4;
k=n;
}
else{
k--;
}
}
else {
x--;
k--;
}
}
if(s[i]=='D'){
if(x==4||k==n){
if(n<=4) {
x=1;
k=1;
}
else if(k==n) {
x=1;
k=1;
}
else{
k++;
}
}
else {
x++;
k++;
}
}
}
if(n<=4){
for(int i=1;i<=n;i++){
cout<<i<<' ';
}
cout<<endl<<k;
return 0;
}
for(int i=x-1;i>=1;i--){
cout<<k-i<<' ';
}
cout<<k<<' ';
for(int i=x;i<=3;i++){
cout<<k+i-x+1<<' ';
}
cout<<endl<<k;
return 0;
}
// 64 位输出请用 printf("%lld")
浪费生命的题目
查看15道真题和解析
基恩士成长空间 421人发布