不考虑代码正确性,为什么倒数第四行不输出,但可以像注释一样单个字符输出
  • 板块灌水区
  • 楼主j_steady
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/4/11 21:42
  • 上次更新2023/10/28 03:57:18
查看原帖
不考虑代码正确性,为什么倒数第四行不输出,但可以像注释一样单个字符输出
559503
j_steady楼主2022/4/11 21:42
using namespace std;
int k;
char n[40];
int kk[20];
int l;
map<string,int> q;
__int128 ans=0;
string s;
void dfs(int cnt){
	s[cnt]=n[cnt];
	if(cnt == l) {
		if(!q[s]){
		q[s]=1;
		ans++;	
		}
		return;
	}
	if(kk[n[cnt]-'0']==0) {
		dfs(cnt+1);
	}
	else {
		char nn=n[cnt];
		n[cnt]=kk[n[cnt]-'0']+'0';
		kk[cnt]=0;
		dfs(cnt+1);
		n[cnt]=nn;
	}
}
void write(__int128 xx){
	if(xx>9) write(xx/10);
	putchar(xx%10+48);
}

int main (){
	cin >> n;
	l=strlen(n);
	scanf("%d",&k);
	for(int i=1;i<=k;i++){
		int x;
		scanf("%d",&x);
		scanf("%d",&kk[x]);
	}
	dfs(0);
	//cout << s[0] << endl;
	cout << s << endl;
	write(ans);
	return 0;
}
2022/4/11 21:42
加载中...