Submission #117480

#TimeUsernameProblemLanguageResultExecution timeMemory
117480ckodserPaths (BOI18_paths)C++14
100 / 100
895 ms91000 KiB
#include <algorithm> #include <bitset> #include <complex> #include <deque> #include <exception> #include <fstream> #include <functional> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include <new> #include <numeric> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector> #if __cplusplus >= 201103L #include <array> #include <atomic> #include <chrono> #include <condition_variable> #include <forward_list> #include <future> #include <initializer_list> #include <mutex> #include <random> #include <ratio> #include <regex> #include <scoped_allocator> #include <system_error> #include <thread> #include <tuple> #include <typeindex> #include <type_traits> #include <unordered_map> #include <unordered_set> #endif int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);} #define ll long long #define pb push_back #define ld long double #define mp make_pair #define F first #define S second #define pii pair<ll,ll> using namespace :: std; const ll maxn=3e5+500; ll a[maxn]; vector<ll> ger[maxn]; ll dp[32][maxn]; int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); ll n,m,k; cin>>n>>m>>k; for(ll i=0;i<n;i++){ cin>>a[i]; a[i]--; } for(ll i=0;i<m;i++){ ll a,b; cin>>a>>b; a--;b--; ger[a].pb(b); ger[b].pb(a); } ll ans=0; for(ll mas=1;mas<32;mas++){ for(ll i=0;i<n;i++){ if((mas>>a[i])&1){ ll nmas=(mas^(1<<a[i])); if(nmas==0){ dp[mas][i]=1; continue; } for(auto r:ger[i]){ dp[mas][i]+=dp[nmas][r]; } } ans+=dp[mas][i]; } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...