Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
较笨的方法,一次ac/* acm 1107 1次ac 方法比较笨 248K 0MS */ #include <iostream> #include <string> using namespace std; int main() { int a; int j; int s; string data[100]; string result[100]; int state1[80]; int state2[80]; int state3[80]; int n=0; int count1=0; int count2=0; int count3=0; while(1) { cin>>a; cin>>j; cin>>s; if(a==0&&j==0&&s==0) break; cin>>data[n]; result[n]=data[n]; int length=data[n].length(); for(int i=0;i<length;i++)//找到位置 { if(data[n][i]>='a'&&data[n][i]<='i') { state1[count1++]=i; } if(data[n][i]>='j'&&data[n][i]<='r') { state2[count2++]=i; } if((data[n][i]>='s'&&data[n][i]<='z')||data[n][i]=='_') { state3[count3++]=i; } } for(int k=0;k<count1;k++) { result[n][state1[(k+a)%count1]]=data[n][state1[k]]; } for(int k=0;k<count2;k++) { result[n][state2[(k+j)%count2]]=data[n][state2[k]]; } for(int k=0;k<count3;k++) { result[n][state3[(k+s)%count3]]=data[n][state3[k]]; } n++; count1=0; count2=0; count3=0; } for(int k=0;k<n;k++) cout<<result[k]<<endl; return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator