Submission #1798061
Source Code Expand
#include<bits/stdc++.h> #define vi vector<int> #define vvi vector<vector<int> > #define vl vector<ll> #define vvl vector<vector<ll>> #define vb vector<bool> #define vc vector<char> #define vs vector<string> using ll = long long; using ld =long double; #define int ll #define INF 1e9 #define EPS 0.0000000001 #define rep(i,n) for(int i=0;i<n;i++) #define loop(i,s,n) for(int i=s;i<n;i++) #define all(in) in.begin(), in.end() template<class T, class S> void cmin(T &a, const S &b) { if (a > b)a = b; } template<class T, class S> void cmax(T &a, const S &b) { if (a < b)a = b; } #define MAX 9999999 using namespace std; typedef pair<int, int> pii; typedef pair<int,pii> piii; #define mp make_pair class unionfind { vector<int> par, rank, size_;//速度ではなくメモリ効率を考えるならrankのかわりにsizeを使う public: unionfind(int n) :par(n), rank(n), size_(n, 1) { iota(all(par), 0); } int find(int x) { if (par[x] == x)return x; return par[x] = find(par[x]); } void unite(int x, int y) { x = find(x), y = find(y); if (x == y)return; if (rank[x] < rank[y])swap(x, y); par[y] = x; size_[x] += size_[y]; if (rank[x] == rank[y])rank[x]++; } bool same(int x, int y) { return find(x) == find(y); } int size(int x) { return size_[find(x)]; } }; signed main(){ int gotiusa_is_god_eiga_koukai_omedetou; cin>>gotiusa_is_god_eiga_koukai_omedetou; unionfind uni(1000); string s,u; cin>>s; cin>>u; map<char,char>Mp; rep(i,s.size()){ uni.unite(s[i],u[i]); if('9'<s[i]&&'9'<u[i]){ }else { if(('0'<=s[i] && s[i] <='9') ||('0' <= u[i] && u[i] <= '9')){ Mp[max(s[i],u[i])]=min(s[i],u[i]); } } } int ans=INF; rep(i,s.size()){ bool flag=true; if(s[i]-'0'<=9)continue; for(auto itr:Mp){ if(uni.same(itr.first,s[i]))flag=false; } if(flag){ if(ans==INF)ans=1; ans*=(10-(i?0:1)); Mp[s[i]]++; } } cout<<max((ans==INF?0:ans),(ll)1)<<endl; }
Submission Info
Submission Time | |
---|---|
Task | B - 大事な数なのでZ回書きまLた。 |
User | yebityon |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 2273 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 |