80分 为什么 哪个小细节??

P1914 小书童——凯撒密码

yxhyxh @ 2015-09-04 20:15:35

评测结果 Result

测试点 #1:通过该测试点。 得分20,耗时0ms,内存2101kB。

测试点 #2:通过该测试点。 得分20,耗时0ms,内存2101kB。

测试点 #3:通过该测试点。 得分20,耗时0ms,内存2105kB。

测试点 #4:错误的答案。 得分0,耗时0ms,内存2101kB。

该行正确答案长度:6 你的答案长度:3

你是在整个测试点输出的 0% 地方开始出错的。

这一行你是在第 4 个字符开始与标准输出不同的。

测试点 #5:通过该测试点。 得分20,耗时0ms,内存2105kB。

源代码 Source code

[codec ]view plainprint?

#include<iostream>  
#include<cstdio>  
#include<string>  
using namespace std;  
int n;  
string str;  
char ch;  
int main(){  
    cin>>n>>str;  
    n%=26;  
    for(int i=0; i<str.size(); i++){  
        ch=str[i]+n;  
        if(ch>'z')ch-=26;  
        cout<<ch;  
    }  
    cout<<endl;  
    return 0;  
}  [/codec ]

by 凯特琳 @ 2015-09-27 15:47:18

program exxam1;
var bb:array[0..26]of char;
var aa:array[1..1000]of longint;
var n,x:longint;
var cc:ansistring;
var len,i:longint;
begin
bb[0]:='a';
for i:=1 to 26 do
bb[i]:=chr(96+i);
readln(n);
read(cc);
len:=length(cc);
for i:=1 to len do
aa[i]:=ord(cc[i])-96;
for i:=1 to len do
begin
x:=(aa[i]+n);
if x>26 then x:=x mod 27+1;
write(bb[x]);
end;
end.

by liaopifan @ 2016-05-29 18:01:29

检查一下是不是char溢出了(char的范围-128~127)


|