读书人

W#x27;s Cipher异常多谢

发布时间: 2013-03-12 11:19:35 作者: rapoo

W's Cipher错误,谢谢
本帖最后由 leizh007 于 2013-03-09 08:05:30 编辑 没发现什么错误啊、、、求给组不能过的数据我自己调调也行
题目地址:http://jobdu.sinaapp.com/problem.php?pid=1485

#include<stdio.h>#define maxsize 10000
char S[maxsize];
int s1[maxsize],s2[maxsize],s3[maxsize],top1,top2,top3;
void change(int stack[],int n,int k)
{
int i,j,temp;
char c;
for(i=0,j=n-1-k;i<=j;i++,j--)
{
c=S[stack[i]];
S[stack[i]]=S[stack[j]];
S[stack[j]]=c;
}
for(i=n-1-k+1,j=n-1;i<=j;i++,j--)
{
c=S[stack[i]];
S[stack[i]]=S[stack[j]];
S[stack[j]]=c;
}
for(i=0,j=n-1;i<=j;i++,j--)
{
c=S[stack[i]];
S[stack[i]]=S[stack[j]];
S[stack[j]]=c;
}
}
int main()
{
int k1,k2,k3,i;
while(1)
{
scanf("%d %d %d",&k1,&k2,&k3);
if(k1==0&&k2==0&&k3==0)
break;
scanf("%s",S);
top1=0;
top2=0;
top3=0;
for(i=0;S[i]!='\0';i++)
{
if(S[i]>='a'&&S[i]<='i')
s1[top1++]=i;
else


if(S[i]>='j'&&S[i]<='r')
s2[top2++]=i;
else
s3[top3++]=i;
}
change(s1,top1,k1);
change(s2,top2,k2);
change(s3,top3,k3);
printf("%s\n",S);
}
}


[解决办法]
3 0 0
ab

读书人网 >软件架构设计

热点推荐