字串還原

2021-08-28 02:04:17 字數 1151 閱讀 8700

小k是一位蔚藍教主的崇拜者(orz教主er),有一天,他收到了一封匿名信,信告訴了小k由於他表現出色,得到了一次當面orz教主的機會,但是要當面orz教主可不那麼容易,不是每個人都有資格orz教主的。所以要破解下面一段密文才可以得到相關的資訊,信中有提供加密的規則,但是小k覺得這個問題看似複雜,所以想請你幫忙。

乙個長度為n的由小寫字母組成的字串s1 s2 ⋯ sn s_1~s_2~\cdots~s_n~s1​ s2​ ⋯ sn​ 按如下方式加密成3種形式:

1、將字串翻轉,即對於每乙個1≤i≤n 1\le i\le n~1≤i≤n 來說,si s_i~si​ 與sn−i+1 s_~sn−i+1​ 對換。

2、將字串中每個字母變為其之後第k個字母,定義z之後的字母為a,其中0≤k≤6且為未知數。

3、將字串中每個字母變為其之前第k個字母,定義a之前的字母為z,k同2所述。

例如字串abcd按上面3種方式加密後,在k=1k=1k=1的情況下會依次變為:

1、dcba;

2、bcde;

3、zabc。

現給出信中按以上3種形式分別加密後的3個字串(不一定按上述例子的順序),要求還原原來的字串,並輸出告訴小k。

輸入的第1行為乙個整數n,表示這個字串的長度。

下面3行每行1個長度為n的字串,且保證符合題目要求。

輸出僅包括1行,為還原後的字串。

4

zabc

dcba

bcde

abcd
對於10%的資料,輸入給出加密字串的順序同題目中1、2、3的順序。

對於20%的資料,n≤5;

對於40%的資料,n≤10;

對於60%的資料,n≤255;

對於100%的資料,n≤10000。

時限1s

#include

#include

#include

#include

using namespace std;

int n;

bool judge(string s1, string s2, string s3) else if (judge(s2,s1,s3)) else if(judge(s3,s1,s2))

return 0;

}

PHP自動轉義和還原字串

例項1 php str select from tb book where bookname php專案開發全程實錄 echo str.a addslashes str 對字串中的特殊字元進行轉義 echo a.輸出轉義後的字元 b stripslashes a 對轉義後的字元進行還原 echo b...

js es6 標籤模板還原字串

模板字串的功能,它可以緊跟在乙個函式名後面,該函式將被呼叫來處理這個模板字串。這被稱為 標籤模板 功能 tagged template 舉個栗子 第乙個引數是陣列,使用變數進行切割。後面是變數的值。那麼其切割的規則是什麼呢?如何還原字串呢?請看正文。分兩種情況 第一種情況 a b c d e a c...

ORACLE in 字串,字串,字串

因為傳進來的引數是 字串,字串,字串,要實現in 字串,字串,字串 select from htl price p where p.hotel id 30073328 and p.able sale date between to date 2009 03 27 yyyy mm dd and to ...