Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- int cnt[10][10][10][10];
- signed main() {
- cin.tie(0)->sync_with_stdio(0);
- int n; cin >> n;
- for (int i = 0; i < n; i++) {
- int sz; string s;
- cin >> sz >> s;
- vector<vector<int>> nxt(sz, vector<int>(10, -1));
- for (int j = sz - 1; j >= 0; j--) {
- if (j + 1 < sz) {
- for (int k = 0; k <= 9; k++) {
- nxt[j][k] = nxt[j + 1][k];
- }
- }
- nxt[j][s[j] - '0'] = j;
- }
- vector<int> dig(4);
- for (dig[0] = 0; dig[0] <= 9; dig[0]++)
- for (dig[1] = 0; dig[1] <= 9; dig[1]++)
- for (dig[2] = 0; dig[2] <= 9; dig[2]++)
- for (dig[3] = 0; dig[3] <= 9; dig[3]++) {
- bool flag = false;
- int p = 0;
- for (int j = 0; j < 4; j++) {
- if (p >= sz || nxt[p][dig[j]] == -1) {
- flag = true;
- break;
- }
- p = nxt[p][dig[j]];
- }
- if (!flag) cnt[dig[0]][dig[1]][dig[2]][dig[3]]++;
- }
- }
- int ans = 0;
- for (int i = 0; i <= 9; i++)
- for (int j = 0; j <= 9; j++)
- for (int k = 0; k <= 9; k++)
- for (int l = 0; l <= 9; l++) {
- if (cnt[i][j][k][l] == n) ans++;
- }
- cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement