40pts求调(QWQ)
查看原帖
40pts求调(QWQ)
1374442
x_Toi_QiQi楼主2024/10/22 19:42
#include <bits/stdc++.h>
using namespace std;

queue <string> que;
map <string, int> flag;
int k, ans;
string str, bf;
char x[100005], y[100005];

void search(int wz) {
	for (int i = 1; i <= k; ++i) {
		bf = str;
		if (bf[wz] == x[i]) {
			bf[wz] = y[i];
			if (flag[bf] == 0) {
				que.push(bf);
				flag[bf] = 1;
				++ans;
			}
		}
	}
}

int main() {
	cin >> str >> k;
	que.push(str);
	ans = 1;
	flag[str] = 1;
	for (int i = 1; i <= k; ++i) cin >> x[i] >> y[i];
	while (que.empty() == 0) {
		str = que.front();
		for (int i = 0; i <= str.size(); ++i)
			search(i);
		que.pop();
	}
	cout << ans;
	return 0;
}

2024/10/22 19:42
加载中...