代码不会写,题解看不懂,求大佬指点
#include <bits/stdc++.h>
using namespace std;
vector<int> a[20];
string n;
int ans = 1;
void dfs(int s, int i){
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;
}
}
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);
}
for(int i = 0; i < n.size(); i ++){
dfs(n[i] - '0', 1);
}
cout << ans;
return 0;
}