40pts求调
查看原帖
40pts求调
1283894
Czy54188楼主2024/8/19 14:59
#include <bits/stdc++.h>

char aq[30],iq[15][2];
int k,len,num[30],ans=1;
bool vis[15],sb[10];
void dfs(char a){
	for(int j=0;j<k;j++) if(vis[j] && iq[j][0]==a-'0'){
		vis[j]=false;
		dfs(iq[j][1]);
		sb[iq[j][1]]=true;
		vis[j]=true;
	}
	return ;
}

int main(){
	scanf("%s%d",aq,&k);
	len=strlen(aq);
	for(int i=0;i<k;i++){
		scanf("%d%d",&iq[i][0],&iq[i][1]);
		vis[i]=true;
	}
	for(int i=0;i<len;i++){
		num[i]=1;
		for(int j=0;j<10;j++) sb[j]=false;
		dfs(aq[i]);
		for(int j=0;j<10;j++) if(sb[j]) num[i]++;
		ans*=num[i];
	}
	printf("%d",ans);
	return 0;
}

2AC 3WA

2024/8/19 14:59
加载中...