求助!~~全WA~~
查看原帖
求助!~~全WA~~
362165
songhx楼主2021/5/30 10:21
#include <cstdio>
#include <cstring>
char a[17],b[17],n[32],k,ans = 1,tot[10];
bool Map[11][10] = {false};
void Ready(){
	scanf("%s %d",&n,&k);
	return;
}
void Set(){
	for(int i = 0; i < k; i++){
		scanf("%d%d",&a[i],&b[i]);
	}
	return;
}
void add(int to,int from){
	for(int i = 1; i < 10; i++){
		if(Map[from][i]) Map[to][i] = true;
	}
	return;
}
void Go(){
	for(int i = 0; i < k; i++){
		Map[a[i]][b[i]] = true;
	}
	for(int r = 0; r < 9; r++){
		for(int i = 0; i < 10; i++){
			for(int j = 1; j < 10; j++){
				if(Map[i][j]) add(i,j);
			}
		}
	}
	return;
}
int CtI(char c){
	return c - '0';
}
void Hello(){
	for(int i = 0; i < 10; i++){
		for(int j = 1; j < 10; j++){
			if(Map[i][j]) tot[i]++;
		}
	}
	return;
}
void Good(){
	for(int i = 0; i < strlen(n); i++){
		ans = ans * tot[CtI(n[i])];
	}
	return;
}
void Bye(){
	printf("%d",ans);
	return;
}
int main(){
	Ready();
	Set();
	Go();
	Hello();
	Good();
	Bye();
	return 0;
}
2021/5/30 10:21
加载中...