因為題面複製不下來,所以咱們簡化題面。
我們知道字母出現的概率(大寫字母視為小寫字母),現在給乙個加密後的文章,文章只有標點,大小寫字母和空格。
加密的規則如下:
0<=k<26,a-z編號為0-25,將字母i替換為(i+k)mod26,原來是大寫字母的還是大寫字母,原來是小寫字母的還是小寫字母。
你需要列舉k,選擇乙個使得最後文章的字母概率與原先字母概率之差的平方和最小的k,如果有多個這樣的k,則k越小越好。
最後輸出解密出的檔案。
這題……我就不說什麼了吧……
純粹模擬,注意兩點
1.讀入資料
2.列舉
沒了,就這樣
**很長……就這樣
#include
#include
#include
#include
#include
using
namespace
std;
double p[27]=;
char a[1000000];
int tong[27]=;
double tp[27]=;
double minn=999999999;
int zuik;
void suan(int k)
if(minn>fang)
return;
}int main()
int l=0;
while(scanf("%c",&a[l])!=eof)
l--;
/*for(int i=0;i<=l;i++)*/
for(int k=0;k<=25;k++)else
if(a[i]>='a'&&a[i]<='z')
}for(int i=0;i<=25;i++)
suan(k);
}for(int i=0;i<=l;i++)else
if(a[i]>='a'&&a[i]<='z')else
printf("%c",a[i]);
}return
0;}
小測驗 停車問題 題解
2017.4.17更新 注意,以前看過這個 的人現在請重新看一遍,以前的如果輸入abccba的話應該輸出none但是源程式輸出的是abc所以有問題 2017.4.17 以下是自己編的背景和題目沒有任何關係 那麼故事接上上文。卻說勇者一行人來到了牢房內,發現牆上掛著幾個模型。上面是汽車與公路的簡圖,貌...
python小測驗 python 小測驗複習
str 常用操作方法 1 首字母大寫,其他字母小寫 s dasda s1 s.capitalize print s1 2 居中center s asdad s1 s.center 30,print s1 3 大小寫翻轉 s1 s.swapcase print s1 4 每個單詞首字母大寫 非字母隔開...
珠心算測驗 題解
見鏈結 首先,我要說一句 既然題目說要去重,那不就是用個set嗎?建立乙個查詢用的set和乙個去重的set。由於這道題n 100 n le 100 n 10 0,而stl的set插入與查詢的時間複雜度均為o log n operatorname o operatornamen o logn 所以可以...