Submission #1611915
Source Code Expand
#include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <ctime> #include <cassert> #include <string> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <functional> #include <iostream> #include <map> #include <set> #include <cassert> #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> P; typedef pair<int,P> P1; typedef pair<P,P> P2; #define pu push #define pb push_back #define mp make_pair #define eps 1e-7 #define INF 1000000000 #define mod 1000000007 #define fi first #define sc second #define rep(i,x) for(int i=0;i<x;i++) #define SORT(x) sort(x.begin(),x.end()) #define ERASE(x) x.erase(unique(x.begin(),x.end()),x.end()) #define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin()) #define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin()) int dp[(1<<15)+5][16],n,m; int c[15][(1<<15)],u[15][15]; ll *zip[(1<<15)]; int main(){ cin>>n>>m; rep(i,m){ int a,b;cin>>a>>b; a--; b--; u[a][b] = 1; } rep(i,n)rep(j,(1<<n)){ if(((j>>i)&1)) continue; rep(k,n){ if(((j>>k)&1)) if(u[i][k]) c[i][j]++; } } //cout<<c[0][2]<<" " <<c[1][1]<<endl; dp[0][0] = 1; ll ret=0; rep(i,(1<<n)) zip[i] = new ll[(1<<__builtin_popcount(i))]; for(int t=0;t<n;t++){ for(int mask=0;mask<(1<<n);mask++){ int x = mask,num = 0; while(1){ //dp[x][t] -> dp[mask][t+1] int y = mask-x,z = (1<<n)-1-mask; ll val = 1; if(!t){ rep(i,n){ if(((x>>i)&1)){ val = val*(1LL<<c[i][y])%mod; } else if(((z>>i)&1)){ val = val*((1LL<<c[i][y])-1LL)%mod; } } zip[mask][num++] = val; }else val = zip[mask][num++]; if(y%4 != 3){ dp[mask][t+1] = dp[mask][t+1]+dp[x][t]*val%mod; dp[mask][t+1]%=mod; if(mask == (1<<n)-1 && y) ret+=dp[x][t]*val%mod; } if(x == 0) break; x = (x-1)&mask; //cout<<x<<" " <<mask<<endl; } } } cout<<ret%mod<<endl; }
Submission Info
Submission Time | |
---|---|
Task | F - Games on DAG |
User | IH19980412 |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 2074 Byte |
Status | AC |
Exec Time | 2903 ms |
Memory | 118912 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 2 ms | 2304 KB |
0_01.txt | AC | 2 ms | 2304 KB |
0_02.txt | AC | 2 ms | 2304 KB |
0_03.txt | AC | 2 ms | 2304 KB |
1_00.txt | AC | 2 ms | 2304 KB |
1_01.txt | AC | 2758 ms | 115456 KB |
1_02.txt | AC | 2749 ms | 115328 KB |
1_03.txt | AC | 2783 ms | 116864 KB |
1_04.txt | AC | 2781 ms | 116864 KB |
1_05.txt | AC | 2800 ms | 116864 KB |
1_06.txt | AC | 2778 ms | 116864 KB |
1_07.txt | AC | 2779 ms | 118912 KB |
1_08.txt | AC | 2783 ms | 116992 KB |
1_09.txt | AC | 2789 ms | 116864 KB |
1_10.txt | AC | 2779 ms | 118912 KB |
1_11.txt | AC | 2778 ms | 116864 KB |
1_12.txt | AC | 2784 ms | 116992 KB |
1_13.txt | AC | 2781 ms | 118912 KB |
1_14.txt | AC | 2779 ms | 116864 KB |
1_15.txt | AC | 2780 ms | 116864 KB |
1_16.txt | AC | 2795 ms | 118912 KB |
1_17.txt | AC | 2786 ms | 116864 KB |
1_18.txt | AC | 2790 ms | 116864 KB |
1_19.txt | AC | 2802 ms | 118912 KB |
1_20.txt | AC | 2786 ms | 116480 KB |
1_21.txt | AC | 9 ms | 2816 KB |
1_22.txt | AC | 2802 ms | 116864 KB |
1_23.txt | AC | 2903 ms | 118912 KB |
1_24.txt | AC | 895 ms | 40704 KB |
1_25.txt | AC | 4 ms | 2432 KB |
1_26.txt | AC | 2897 ms | 116864 KB |
1_27.txt | AC | 85 ms | 6784 KB |
1_28.txt | AC | 2809 ms | 115968 KB |
1_29.txt | AC | 265 ms | 15360 KB |
1_30.txt | AC | 81 ms | 6656 KB |
1_31.txt | AC | 2780 ms | 116864 KB |
1_32.txt | AC | 265 ms | 15360 KB |
1_33.txt | AC | 82 ms | 6784 KB |
1_34.txt | AC | 859 ms | 40704 KB |
1_35.txt | AC | 264 ms | 15360 KB |