103 条题解
-
4zgs LV 6 @ 2009-10-09 21:27:09
情书吸引我使我忘了做题!
-
22009-08-20 21:01:41@
总算AC了...两年的怨念啊...
第二个点WA的话,输出用write(chr((ord(a[i])-t-71) mod 26+97))的模式...感谢candyhby
-
12021-03-19 13:11:52@
#include <cmath> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <vector> #include <deque> using namespace std; namespace dts { const char key='e'; int sz,t; char se[1<<24],oa[1<<24]; void getatc() { sz=0; memset(se,0,sizeof(se)); for (char c;~scanf("%c",&c);) se[sz++]=c; } void calc() { int cntse[26]; memset(cntse,0,sizeof(cntse)); for (int i=0;i<sz;i++) if ('a'<=se[i]&&se[i]<='z') cntse[se[i]-'a']++; else if ('A'<=se[i]&&se[i]<='Z') cntse[se[i]-'A']++; int maxx=0; for (int i=1;i<26;i++) if (cntse[i]>cntse[maxx]) maxx=i; t=key-(maxx+'a'); t=((t%26)+26)%26; } char turn(char c,int num) { if ('a'<=c&&c<='z') { int ans=c+num; if (ans>'z') ans-=26; return char(ans); } else if ('A'<=c&&c<='Z') { int ans=c+num; if (ans>'Z') ans-=26; return char(ans); } else return c; } void sol() { memset(oa,0,sizeof(oa)); for (int i=0;i<sz;i++) oa[i]=turn(se[i],t); for (int i=0;i<sz;i++) printf("%c",oa[i]); } void main() { getatc(); calc(); sol(); } }; int main() { dts::main(); }
-
12009-08-12 14:49:41@
样例输出的中文版:
我会向你展示是的,我仍然感到惊讶,我有你。它仍然很难理解你如何选择了我。如何在一个简短的谈话你知道我是为了你。但现在我知道真相的信念。我从来没有与别人谁适合我这么完美。你勾引我,你性感的身体和强大的精神,您使我的心与您的投标。我知道你,我不能和你也许不完全甚至更长的时间。但我仍然很高兴。你的一部分已成为我的一部分,这是不够的。
你会笑,当我说这一点,但我的梦想你每晚。可能是因为我不能看到你往往不够的。但是,当我醒来我知道你是最遥远的事情由一个梦想。有时我想,您是建立由固体岩石:移动雕像和一个坚不可摧的人。你绝对控制自己,然后再次远远超过自己。你的信任,是消费和您的观点是十分巨大的。您还没有发生在你生活的嫉妒或投诉。我的朋友们这么小的比较,总是与他们的问题蔓延到其他人。
我想让你知道有多少你已经打开了我的眼睛,让我真正看到自己。到现在为止,我的生活一直是未定回和规定,现在我知道,我已经浪费了太多时间。但现在我的方向似乎很清楚,我有信心,我的未来。过去似乎没有问题了。您使我看到的可能性,我永远不会想到面前。
是的,我想请你。但是,通过取悦你,我会成为一个更好的和更强有力的人。没有什么我想多把自己通过你。我向你挑战,超越自己,离开我弱的自我后面。我会向你展示如何美丽我可以,我将告诉您如何辉煌我可以成为。这样一来,我知道我将永远爱你。
永远你,
Matrix67
-
02016-07-31 08:55:09@
发题解喽!
```c++
#include <iostream>
using namespace std;#include <string>
#include <cstdio>
#include <map>map<char,int> Map;
struct STR{
string str;
}Str[1000];string str;
int nCount = 0,t = 0;
int main(){
while(getline(cin,str)){
nCount ++;
Str[nCount].str = str;
for(int i = 0;i < str.length();i ++){
Map[str[i]] ++;
}
}
//计算t值
int nMax = 0;
char chMax;
for(char ch = 'a';ch <= 'z';ch ++){
if(nMax < Map[ch]){
nMax = Map[ch];
chMax = ch;
}
}
t = chMax - 'e';
if(t >= 0){
for(int i = 1;i <= nCount;i ++){
string str = Str[i].str;
for(int j = 0;j < str.length();j ++){
//大写
if(str[j] >= 'A' && str[j] <= 'Z'){
if(str[j] - t < 'A'){
str[j] = 'Z' - (t - (str[j] - 'A')) + 1;
}else{
str[j] -= t;
}
}
//小写
else if(str[j] >= 'a' && str[j] <= 'z'){
if(str[j] - t < 'a'){
str[j] = 'z' - (t - (str[j] - 'a')) + 1;
}else{
str[j] -= t;
}
}
}
cout << str << endl;
}
}else{
for(int i = 1;i <= nCount;i ++){
string str = Str[i].str;
for(int j = 0;j < str.length();j ++){
//大写
if(str[j] >= 'A' && str[j] <= 'Z'){
if(str[j] + (-t) > 'Z'){
str[j] = 'A' + (-t - ('Z' - str[j])) - 1;
}else{
str[j] += -t;
}
}
//小写
else if(str[j] >= 'a' && str[j] <= 'z'){
if(str[j] + (-t) > 'z'){
str[j] = 'a' + (-t - ('z' - str[j])) - 1;
}else{
str[j] += -t;
}
}
}
cout << str << endl;
}
}return 0;
}
``` -
02015-07-15 10:38:19@
var
s:ansistring;
num:array[1..26]of longint;
ch:char;
t,asc:integer;
i,l:longint;
flag:boolean;
procedure check(c:char);
var
asc:integer;
begin
asc:=ord(c);
if (asc>=65)and(asc<=90)then begin
asc:=asc-65+1;
asc:=((asc-t)+26)mod 26;
if asc=0 then asc:=26;
write(chr(asc+64));
end else
if (asc>=97)and(asc<=122)then begin
asc:=asc-97+1;
asc:=((asc-t)+26)mod 26;
if asc=0 then asc:=26;
write(chr(asc+96));
end else write(c);
end;
procedure gett;
var
i,id:integer;
max:longint;
begin
max:=0;
for i:=1 to 26 do
if num[i]>max then begin
max:=num[i];
id:=i;
end;
t:=id-5;
end;
begin
i:=0;
flag:=false;
while not eof do begin
inc(i);
read(ch);
s:=s+ch;
asc:=ord(ch);
if (asc>=65)and(asc<=90)then begin
asc:=asc-65+1;
inc(num[asc]);
end else
if (asc>=97)and(asc<=122)then begin
asc:=asc-97+1;
inc(num[asc]);
end;
end;
gett;
for l:=1 to i do check(s[l]);
end. -
02015-04-12 18:57:45@
词频最高的是'e',处理一下不是字母的情况就行了
Pascal Code
var
a:array[1..1000000] of char;
i,t,n,temp:longint;
j,maxc:char;
hash:array['a'..'z'] of longint;
hash2:array['a'..'z'] of char;
begin
//assign(input,'1.in');
//reset(input);
fillchar(hash,sizeof(hash),0);
while not eof do
begin
inc(i);
read(a[i]);
if (a[i] in ['a'..'z']) or (a[i] in['A'..'Z']) then inc(hash[lowercase(a[i])]);
end;
n:=i;
maxc:='a';
for j:='b' to 'z' do
if hash[j]>hash[maxc] then maxc:=j;
t:=ord('e')-ord(maxc);
for j:='a' to 'z' do
begin
temp:=ord(j)+t;
if temp<ord('a') then inc(temp,26); //处理不是字母的情况
if temp>ord('z') then dec(temp,26); //同上
hash2[j]:=chr(temp);
end;
for i:=1 to n do
begin
if a[i] in ['a'..'z'] then begin write(hash2[a[i]]);continue;end;
if a[i] in ['A'..'Z'] then begin write(upcase(hash2[lowercase(a[i])]));continue;end;
write(a[i]);
end;
end. -
02012-11-09 15:43:42@
数据里有FPC的说明书。。。
-
02012-10-27 11:10:02@
不是说情书吗,从Matrix67的名字入手居然是错的......
-
02012-10-07 21:49:03@
find e....
__ \ __ _|__
/ \ \/ /
__/ | /__ ................. -
02012-07-21 11:19:35@
TNND..我也是从名字下手的。结果挂了。。。
看来只有统计出现最多的字母来计算密钥了。。靠。。。 -
02009-11-09 17:28:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案错误...程序输出比正确答案长
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:86 有效耗时:0ms为什么这样做不对???
var
c,x:char;i,j,n,t:longint;
a:ansistring;
b:array['a'..'z']of longint;
begin
a:='';
while not eof do
begin
read(c); a:=a+c;
if (c>='A')and(c='a')and(cn then begin n:=b[c];x:=c;end;
t:=ord('e')-ord(x);
for i:=1 to length(a) do
if ((a[i]>='a')and(a[i]'z'then x:=chr(ord(x)-ord('z')+ord('a'))
else if x='A')and(a[i]'Z'then x:=chr(ord(x)-ord('Z')+ord('A'))
else if x -
02009-11-07 15:27:49@
BT题目
-
02009-11-05 18:53:06@
怨念。残念。这都可以。
-
02009-11-04 22:38:30@
穷举密文中出现次数最多的字母作为明文中的“e”即可
-
02009-11-04 12:54:08@
Accepted 有效得分:100 有效耗时:0ms
为什么'e'出现的次数一定会最多呢?还是诧异……
-
02009-10-24 20:15:43@
统计词频=AC.
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-10-23 17:13:21@
Accepted 有效得分:100 有效耗时:0ms
___|\__|\__|begin\__|\__|
这题我是用比较猥琐的的方法过的
就是 t=ord('E')-ord(max(出现最多次数的字母数))
要问为什么的话去问密码专家吧^_^(题目说过语法无错误的)
再来就是转换了 相信大家应该会
___|\__|\__|^_^\___|_end.___|_ -
02009-10-23 14:13:29@
....
Matrix67有帮人写情书的业务哦~~
所以末尾署名不一定是他
害我WA了一次 -
02009-10-19 15:24:00@
一般人都不知道密码学的E吧
我一开始还以为情书的结尾一定是matrix67的名字呢编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms