模擬 亂搞 AOJ 10 目標柏林

2022-08-20 01:12:09 字數 1530 閱讀 5398

description

2023年初,蘇軍和英美聯軍已從東西兩面攻入德國國境。

4月初,在蘇軍和英美聯軍的夾擊下,德軍只能龜縮在以柏林為中心的德國東部的狹長地帶,成了甕中之鱉。

但希特拉困獸猶鬥,一方面發出摧毀一切設施,實行「焦土」政策的指令;

另一方面下令把德國分為南北兩個行政區,各自作戰,他自己則固守柏林。

在這一天,蘇軍結果乙份傳自柏林的加密電文。經初步破譯,顯示希特拉要調集100萬兵力,

在柏林周圍築起了三層防衛圈,並集中3300架飛機,1500多輛坦克,1萬門火炮和迫擊炮,準備死守柏林。

形勢很危機,我們需要馬上破譯所有密碼。請你來遍個程式幫忙破譯。

蘇軍知道德軍用的加密方法是這樣的:

1.獲得一段文字後,求出它的長度(包括空格)len。

2.進入加密運算的第1步:把所有下標是1倍數的字元做順時針旋轉。

3.進入加密運算的第2步:把所有下標是2倍數的字元做逆時針旋轉。

4.進入加密運算的第3步:把所有下標是3倍數的字元做順時針旋轉。

5.按上面的規則,第奇數步按順時針旋轉,偶數步按逆時針旋轉,一直到第len步為止。

比如原文是:abcde

1.獲得長度len = 5

2.1的倍數有1、2、3、4、5,所以把這5個字元按順時針旋轉,得到eabcd。

3.2的倍數有2、4,所以把這2個字元按逆時針旋轉,得到ecbad。

4.3的倍數有3,所以把這1個字元按順時針旋轉,得到ecbad。

5.4的倍數有4,所以把這1個字元按逆時針旋轉,得到ecbad。

6.5的倍數有5,所以把這1個字元按順時針旋轉,得到ecbad。

最後的結果是ecbad。

現在給你加密後的文章,讓你還原成原來的文章。

input

輸入一篇加密後的文章,每行為一段。每段不超過1000個字元。

輸入以檔案結束(eof)為止。

output

輸出解密後的文章。

每段一行。

sample input

ecbad

sample output

abcde

思路:乙個簡單的模擬題,我是先寫出加密程式,再稍微修改下成解密程式

在讀取需要旋轉的字元的編號的時候花了不少功夫 一直超時

參考**

#include #include 

#define len 1000+10

void turn_right(char *c,int *a,int k)//

順時針旋轉

void turn_left(char *c,int *a,int k)//

逆時針旋轉

intmain()

;

intlen;

int i,j,k=0

;

while

(gets(c))

puts(c);

} return0;

}

數學 亂搞 AOJ 331 漢諾塔

description 大家都聽說過漢諾塔吧?有n個圓盤由小到大排列,套在a柱上,每次只能移動乙個圓盤,而且只能大的在下,小的在上,讓你把a柱上的圓盤移到b柱,給你乙個多餘的c柱,問你最少移動多少次才能完成任務。input 輸入有多組資料,每組包括乙個整數n n 10000000 表示初始狀態下有n...

亂搞 正確姿勢的亂搞 模擬退火

模擬退火大概原理就是將熱力學裡面金屬退火的原理放在了統計學意義中。其在電腦科學中的應用也是很可觀的 處理一些無法用多項式時間複雜度解決的np問題。對於一些最優化問題,往往我們可以轉化為乙個神奇的函式 引數不限 比如像這樣 如果這個函式滿足單峰性,我們往往可以直接套用三分來處理,但是都說了這如果是乙個...

亂搞 AOJ 574 愛就大聲說出來

description 時間是一把刻刀,也是無情的流水。它曾經用它鋒利的刀刃深深刻進 ff 心裡的那個女孩,也被流年洗刷得只剩下模糊的影子。時隔一年之後,逐漸從往年的心事中走出來的 ff 邂逅了另乙個讓他心動的人。她會是 ff 一直尋找著的那個人嗎?ff 沒辦法知道,他只知道,愛就要大聲說出來。請你...