Submission #1503315
Source Code Expand
#include "bits/stdc++.h" using namespace std; using ll = long long int; using ld = long double; using vi = vector<int>; using vvi = vector<vi>; using vvvi = vector<vvi>; using vl = vector<ll>; using vvl = vector<vl>; using vvvl = vector<vvl>; using vd = vector<double>; using vvd = vector<vd>; using vs = vector<string>; using vb = vector<bool>; using vvb = vector<vb>; const int INF = (1 << 30) - 1; const ll INF64 = ((ll)1 << 62) - 1; const double PI = 3.1415926535897932384626433832795; const int dx[] = { 0, 1, 0, -1 }; const int dy[] = { -1, 0, 1, 0 }; int gcd(int x, int y) { return y ? gcd(y, x % y) : x; } ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; } int lcm(int x, int y) { return x / gcd(x, y) * y; } ll lcm(ll x, ll y) { return x / gcd(x, y) * y; } struct UnionFind { vi par; vi size; UnionFind(int n) : par(n), size(n, 1) { for (int i = 0; i < n; i++) par[i] = i; } int find(int x) { if (x == par[x]) return x; return par[x] = find(par[x]); } void unite(int x, int y) { int px = find(x); int py = find(y); if (px == py) return; if (size[px] < size[py]) swap(px, py); par[py] = px; size[px] += size[py]; } bool same(int x, int y) { return find(x) == find(y); } }; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; string a, b; cin >> n >> a >> b; UnionFind uf(36); for (int i = 0; i < n; i++) { int aPos = isalpha(a[i]) ? a[i] - 'A' + 10 : a[i] - '0'; int bPos = isalpha(b[i]) ? b[i] - 'A' + 10 : b[i] - '0'; uf.unite(aPos, bPos); } ll res = 1; vb visited(36); for (int i = 0; i < n; i++) { int aPos = isalpha(a[i]) ? a[i] - 'A' + 10 : a[i] - '0'; int bPos = isalpha(b[i]) ? b[i] - 'A' + 10 : b[i] - '0'; if (visited[uf.find(aPos)] && visited[uf.find(bPos)]) { continue; } visited[uf.find(aPos)] = true; visited[uf.find(bPos)] = true; vi sames; for (int i = 0; i < 10; i++) { if (uf.same(aPos, i)) { sames.push_back(i); } } if (sames.size() == 0) { res *= (i == 0) ? 9 : 10; } else { res *= sames.size(); } } cout << res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 大事な数なのでZ回書きまLた。 |
User | ant2357 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2190 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt |
Subtask1 | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt |
Subtask2 | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask2-21.txt, subtask2-22.txt, subtask2-23.txt, subtask2-24.txt, subtask2-25.txt, subtask2-26.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0-sample01.txt | AC | 1 ms | 256 KB |
subtask0-sample02.txt | AC | 1 ms | 256 KB |
subtask0-sample03.txt | AC | 1 ms | 256 KB |
subtask1-01.txt | AC | 1 ms | 256 KB |
subtask1-02.txt | AC | 1 ms | 256 KB |
subtask1-03.txt | AC | 1 ms | 256 KB |
subtask1-04.txt | AC | 1 ms | 256 KB |
subtask1-05.txt | AC | 1 ms | 256 KB |
subtask1-06.txt | AC | 1 ms | 256 KB |
subtask1-07.txt | AC | 1 ms | 256 KB |
subtask1-08.txt | AC | 1 ms | 256 KB |
subtask1-09.txt | AC | 1 ms | 256 KB |
subtask1-10.txt | AC | 1 ms | 256 KB |
subtask1-11.txt | AC | 1 ms | 256 KB |
subtask1-12.txt | AC | 1 ms | 256 KB |
subtask1-13.txt | AC | 1 ms | 256 KB |
subtask1-14.txt | AC | 1 ms | 256 KB |
subtask1-15.txt | AC | 1 ms | 256 KB |
subtask1-16.txt | AC | 1 ms | 256 KB |
subtask1-17.txt | AC | 1 ms | 256 KB |
subtask1-18.txt | AC | 1 ms | 256 KB |
subtask1-19.txt | AC | 1 ms | 256 KB |
subtask1-20.txt | AC | 1 ms | 256 KB |
subtask1-21.txt | AC | 1 ms | 256 KB |
subtask1-22.txt | AC | 1 ms | 256 KB |
subtask1-23.txt | AC | 1 ms | 256 KB |
subtask1-24.txt | AC | 1 ms | 256 KB |
subtask1-25.txt | AC | 1 ms | 256 KB |
subtask1-26.txt | AC | 1 ms | 256 KB |
subtask2-01.txt | AC | 1 ms | 256 KB |
subtask2-02.txt | AC | 1 ms | 256 KB |
subtask2-03.txt | AC | 1 ms | 256 KB |
subtask2-04.txt | AC | 1 ms | 256 KB |
subtask2-05.txt | AC | 1 ms | 256 KB |
subtask2-06.txt | AC | 1 ms | 256 KB |
subtask2-07.txt | AC | 1 ms | 256 KB |
subtask2-08.txt | AC | 1 ms | 256 KB |
subtask2-09.txt | AC | 1 ms | 256 KB |
subtask2-10.txt | AC | 1 ms | 256 KB |
subtask2-11.txt | AC | 1 ms | 256 KB |
subtask2-12.txt | AC | 1 ms | 256 KB |
subtask2-13.txt | AC | 1 ms | 256 KB |
subtask2-14.txt | AC | 1 ms | 256 KB |
subtask2-15.txt | AC | 1 ms | 256 KB |
subtask2-16.txt | AC | 1 ms | 256 KB |
subtask2-17.txt | AC | 1 ms | 256 KB |
subtask2-18.txt | AC | 1 ms | 256 KB |
subtask2-19.txt | AC | 1 ms | 256 KB |
subtask2-20.txt | AC | 1 ms | 256 KB |
subtask2-21.txt | AC | 1 ms | 256 KB |
subtask2-22.txt | AC | 1 ms | 256 KB |
subtask2-23.txt | AC | 1 ms | 256 KB |
subtask2-24.txt | AC | 1 ms | 256 KB |
subtask2-25.txt | AC | 1 ms | 256 KB |
subtask2-26.txt | AC | 1 ms | 256 KB |