第六屆藍翔杯決賽 密文搜尋

2021-07-12 01:08:43 字數 951 閱讀 4789

密文搜尋

描述:福爾摩斯從x星收到乙份資料,全部是小寫字母組成。

他的助手提供了另乙份資料:許多長度為8的密碼列表。

福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。

請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。

資料格式:

輸入第一行:乙個字串s,全部由小寫字母組成,長度小於1024*1024

緊接著一行是乙個整數n,表示以下有n行密碼,1<=n<=1000

緊接著是n行字串,都是小寫字母組成,長度都為8

要求輸出:

乙個整數, 表示每行密碼的所有排列在s中匹配次數的總和。

例如:

使用者輸入:

aaaabbbbaabbcccc

2 aaaabbbb

abcabccc

則程式應該輸出:

4 思路:直接拿map搞就行了。

詳細見**:

#include#include#include#include#include#include#include#includeusing namespace std;

#define inf 1.0e14;

const int maxn = 1024*1024+100;

typedef long long ll;

struct node

node(const node &a)

};bool operator <(const node &a,const node &b)

mapm;

node a[maxn];

char str[maxn];

int main()

scanf("%d",&n);

int ans=0;

char s[10];

while(n--){

cout<

第六屆藍橋杯決賽試題 密文搜尋

福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。資料格式 輸入第一行 乙個字串s,全部由小寫字母組成,長度小於...

居民集會 第六屆藍翔杯決賽題

居民集會 藍橋村的居民都生活在一條公路的邊上,公路的長度為l,每戶家庭的位置都用這戶家庭到公路的起點的距離來計算,第i戶家庭距起點的距離為di。每年,藍橋村都要舉行一次集會。今年,由於村里的人口太多,村委會決定要在4個地方舉行集會,其中3個位於公路中間,1個位最公路的終點。已知每戶家庭都會向著遠離公...

第六屆藍橋盃國賽C B組 密文搜尋

福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。資料格式 輸入第一行 乙個字串s,全部由小寫字母組成,長度小於...