1 条题解
-
2
#include<bits/stdc++.h> #define int long long using namespace std; const int N = 110; const int inf = 0x3f3f3f3f; int c[N][10]; int a[N]; int k; int times[N][N]; int ans = 1; int leng; int tsum; void dfs(int step , int num){ if(times[step][num] >= 1){ return; } times[step][num] ++; tsum ++; for(int i = 1 ; i <= k ; i ++){ if(c[i][1] == num){ dfs(step , c[i][2]); } } } signed main(){ freopen("generate.in" , "r" , stdin); freopen("generate.out" , "w" , stdout); string s; cin >> s; leng = s.size(); for(int i = 0 ; i < leng ; i ++){ a[i + 1] = s[i] - '0'; } cin >> k; for(int i = 1 ; i <= k ; i ++){ cin >> c[i][1] >> c[i][2]; } for(int i = 1 ; i <= leng ; i ++){ tsum = 0; dfs(i , a[i]); ans *= tsum; } cout << ans; return 0; }
信息
- ID
- 552
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 168
- 已通过
- 16
- 上传者