建工網(wǎng)校官網(wǎng)app百度推廣優(yōu)化師培訓(xùn)
題目描述
“藍橋杯”練習(xí)系統(tǒng) (lanqiao.cn)
題目分析
對于此題目最開始是遞歸想法,但發(fā)現(xiàn)題意中的匹配次數(shù)實際上是指在這8個字母中這8個字母每個字母對應(yīng)的個數(shù)是否相同,如果相同則匹配。
此處我們可以使用subsrtr函數(shù),每次循環(huán)截取8個字母,排序找出每個字母,輸入要匹配的字符串時也是相同的操作,其中map記錄此字符串的樣式,以及這樣相同字符串的個數(shù)
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
string s;
int n, q, ans;
map<string, int> mp;
int main()
{cin >> s;n = s.size();for(int i = 0; i <= n - 8; i ++){string a = s.substr(i, 8);sort(a.begin(), a.end());mp[a] ++;}cin >> q;for(int i = 1; i <= q; i ++){cin >> s;sort(s.begin(), s.end());ans += mp[s];}cout << ans;return 0;
}