(2017.7.29)数据有问题?

P1079 [NOIP2012 提高组] Vigenère 密码

下载测试点#1发现是testdata(3)。。。
by zhyh @ 2017-07-29 22:10:50


@[XDFZ0138](/space/show?uid=9315) Windows请用写字板打开
by FlierKing @ 2017-07-29 22:21:30


感谢
by zhyh @ 2017-07-29 22:55:39


样例可过,提交30,求找错 部分测试数据,程序运行无效返回3221225620 代码和注释如下: ```cpp //已知密文转换有规律:令a=0,b=1..., //则在第i位上,有C[i]=(M[i]+K[i])%26(分别为各自ASCLL码减去"A"或"a"后); //所以:M[i]=C[i]-K[i],(C[i]>=K[i]) 或 M[i]=C[i]+26-K[i],(C[i]<K[i]) #include<iostream> #include<cstring> #include<cstdio> using namespace std; char c[2333],k[2333]; int main(){ scanf("%s",k); scanf("%s",c); for(int i=0;i<strlen(k);i++) //将K以a=0,b=1...规则的形式保存 if(k[i]<97)k[i]-=65; else k[i]-=97; for(int i=0;i<strlen(c);i++){ if(( c[i]<97 && (c[i]-65)<k[i%strlen(k)] ) || //C[i]<K[i]的情况; (c[i]>96 && (c[i]-97)<k[i%strlen(k)] )) printf("%c",c[i]+26-k[i%strlen(k)]); else printf("%c",c[i]-k[i%strlen(k)]); } return 0; } ```
by zhyh @ 2017-07-30 12:02:00


问题已解决,怎么删帖?
by zhyh @ 2017-08-01 20:52:48


@[XDFZ0138](/space/show?uid=9315) 在帖子里骂管理员+刷屏,不仅删帖还可以封号
by 1jia1 @ 2017-12-22 18:01:42


|