求助,0分WA
查看原帖
求助,0分WA
971585
ruige233楼主2024/8/4 14:02

求助,哪里错了?

#include <iostream>
#include <map>
using namespace std;
string re;
int k;
int a[20],sum=0;
map<string,bool> vis;//标记 
void dfs(string s){
	vis[s]=1;
	sum++;
	for(int i=0;i<s.length();i++){
		if(!a[s[i]]){//可以变换
			s[i]=char(a[s[i]]+'0');
			if(!vis[s]){
				vis[s]=1;
				dfs(s);
				vis[s]=0;//回溯 
			}
		}
	} 
	
}
int main(){
	cin>>re>>k;
	for(int i=1;i<=k;i++){
		int x,y;
		cin>>x>>y;
		a[x]=y;
	}
	dfs(re);
	cout<<sum;
	return 0;
}
2024/8/4 14:02
加载中...