首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

W's Cipher异常,多谢

2013-03-12 
W's Cipher错误,谢谢本帖最后由 leizh007 于 2013-03-09 08:05:30 编辑没发现什么错误啊、、、求给组不

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

热点排行