題目描述
福爾摩斯從x星收到乙份資料,全部是小寫字母組成。
他的助手提供了另乙份資料:許多長度為8的密碼列表。
福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。
請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。
要考慮密碼的所有排列可能性。
輸入輸入第一行:乙個字串s,全部由小寫字母組成,長度小於1024*1024
緊接著一行是乙個整數n,表示以下有n行密碼,1<=n<=1000
緊接著是n行字串,都是小寫字母組成,長度都為8
輸出乙個整數, 表示每行密碼的所有排列在s中匹配次數的總和。
樣例輸入
aaaabbbbaabbcccc
2aaaabbbb
abcabccc
樣例輸出4提示
第乙個密碼匹配了3次,第二個密碼匹配了1次,一共4次。
解題思路:
因為密碼可以隨機排列(全排列),故只要密碼各個字母出現的次數與原字串某連續8位各個字母出現的次數相同就代表乙個答案。
**如下:
#include
#include
#include
#include
using
namespace std;
mapint>mp;
intmain()
int ans =0;
for(
int i =
0; i < n; i++
) cout << ans << endl;
return0;
}
2015 藍橋杯決賽 密文搜尋
福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。資料格式 輸入第一行 乙個字串s,全部由小寫字母組成,長度小於...
藍橋杯2015決賽 密文搜尋
福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。輸入輸入第一行 乙個字串s,全部由小寫字母組成,長度小於102...
藍橋杯 2015決賽 密文搜尋 (map)
福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。輸入第一行 乙個字串s,全部由小寫字母組成,長度小於1024 ...