题解 | #MP3光标位置#
MP3光标位置
http://www.nowcoder.com/practice/eaf5b886bd6645dd9cfb5406f3753e15
#include<iostream>
using namespace std;
int main()
{
int a;
string b;
while(cin>>a>>b)
{
int c=1;
if(a>1&&a<=4)
{
for(int i=0;i<b.length();i++)
{
if(b[i]=='D')
{
if(c!=a)
{
c++;
}
else if(c==a)
{
c=1;
}
}
if(b[i]=='U')
{
if(c!=1)
{
c--;
}
else if(c==1)
{
c=a;
}
}
}
for(int i=1;i<=a;i++)
{
cout<<i<<' ';
}
cout<<endl<<c;
}
if(a>4)
{
int d[4]={1,2,3,4};
for(int i=0;i<b.length();i++)
{
if(b[i]=='D')
{
if(c!=a)
{
c++;
if(c-d[3]==1)
{
for(int m=0;m<4;m++)
{
d[m]=d[m]+1;
}
}
}
else if(c==a)
{
c=1;
d[0]=1,d[1]=2,d[2]=3,d[3]=4;
}
}
if(b[i]=='U')
{
if(c!=1)
{
c--;
if(c-d[0]==-1)
{
for(int m=0;m<4;m++)
{
d[m]=d[m]-1;
}
}
}
else if(c==1)
{
c=a;
d[0]=a-3,d[1]=a-2,d[2]=a-1,d[3]=a;
}
}
}
cout<<d[0]<<' '<<d[1]<<' '<<d[2]<<' '<<d[3]<<endl;
cout<<c;
}
}
return(0);
}
using namespace std;
int main()
{
int a;
string b;
while(cin>>a>>b)
{
int c=1;
if(a>1&&a<=4)
{
for(int i=0;i<b.length();i++)
{
if(b[i]=='D')
{
if(c!=a)
{
c++;
}
else if(c==a)
{
c=1;
}
}
if(b[i]=='U')
{
if(c!=1)
{
c--;
}
else if(c==1)
{
c=a;
}
}
}
for(int i=1;i<=a;i++)
{
cout<<i<<' ';
}
cout<<endl<<c;
}
if(a>4)
{
int d[4]={1,2,3,4};
for(int i=0;i<b.length();i++)
{
if(b[i]=='D')
{
if(c!=a)
{
c++;
if(c-d[3]==1)
{
for(int m=0;m<4;m++)
{
d[m]=d[m]+1;
}
}
}
else if(c==a)
{
c=1;
d[0]=1,d[1]=2,d[2]=3,d[3]=4;
}
}
if(b[i]=='U')
{
if(c!=1)
{
c--;
if(c-d[0]==-1)
{
for(int m=0;m<4;m++)
{
d[m]=d[m]-1;
}
}
}
else if(c==1)
{
c=a;
d[0]=a-3,d[1]=a-2,d[2]=a-1,d[3]=a;
}
}
}
cout<<d[0]<<' '<<d[1]<<' '<<d[2]<<' '<<d[3]<<endl;
cout<<c;
}
}
return(0);
}