求帮
查看原帖
求帮
1656192
cysapt楼主2025/7/24 15:36

代码不会写,题解看不懂,求大佬指点

#include <bits/stdc++.h>
using namespace std;

vector<int> a[20];
string n;
int ans = 1;

void dfs(int s, int i){//s是当前数字,i是a数组的下标 
	if(s > n.size()){
		return;
	}	
	if(s == a[i][0]){
		ans ++;
		dfs(a[i][1], i + 1);
		return;
	}
	else{
		dfs(a[i][0], i + 1);
		return;
	}
	//exit(0);
}

int main(){
	int k;
	cin >> n >> k;
	for(int i = 1; i <= k; i ++){
		int v, b;
		cin >> v >> b;
		a[i].push_back(v);
		a[i].push_back(b);
	}
//	exit(0);
	for(int i = 0; i < n.size(); i ++){
		dfs(n[i] - '0', 1);
	}
	cout << ans;
	return 0;
}
2025/7/24 15:36
加载中...