Submission #40959341
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=15,MAXM=150,mod=1e9+7;
void add(int& x,int y){x=(x+y)%mod;}
void sub(int& x,int y){x=(x-y+mod)%mod;}
int addv(int x,int y){return (x+y)%mod;}
int subv(int x,int y){return (x-y+mod)%mod;}
int mypow(int a,int n){
if(!n)return 1;
int tmp=mypow(a,n/2);tmp=1ll*tmp*tmp%mod;
if(n&1)tmp=1ll*tmp*a%mod;return tmp;
}
int n,m,G[MAXN][MAXN],ans;
int cnt[MAXN][1<<MAXN];
int u[MAXM],v[MAXM];
int fv[MAXN],gv[MAXN],dp[1<<MAXN];
int main(){
cin>>n>>m;
rep(i,0,n-1){fv[i]=(1<<i)-1;gv[i]=(1<<i);}
rep(i,0,m-1){
cin>>u[i]>>v[i];
u[i]--;v[i]--;
}
ans=mypow(2,m);
rep(i,0,m-1)G[u[i]][v[i]]=1;
rep(i,0,n-1)rep(j,0,(1<<n)-1){
rep(k,0,n-1)if((j>>k&1) && G[i][k])cnt[i][j]++;
}
dp[0]=1;
rep(S,0,(1<<n)-1)if(dp[S]){
int R=((1<<n)-1)^S;
for(int T=R;T;T=(T-1)&R){
if((T&1) != (T>>1&1))continue;
int ways=1;
rep(i,0,n-1)if(!(S>>i&1) && !(T>>i&1)){
ways=1ll*ways*fv[cnt[i][T]]%mod;
}
rep(i,0,n-1)if(T>>i&1){
ways=1ll*ways*gv[cnt[i][R^T]]%mod;
}
add(dp[S^T],1ll*dp[S]*ways%mod);
}
}
sub(ans,dp[(1<<n)-1]);
cout<<ans<<endl;;
return 0;
}
Submission Info
Submission Time
2023-04-26 18:52:59+0900
Task
F - Games on DAG
User
Crying
Language
C++ (GCC 9.2.1)
Score
1600
Code Size
1550 Byte
Status
AC
Exec Time
171 ms
Memory
5340 KB
Compile Error
./Main.cpp: In function ‘int mypow(int, int)’:
./Main.cpp:23:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
23 | if(n&1)tmp=1ll*tmp*a%mod;return tmp;
| ^~
./Main.cpp:23:27: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
23 | if(n&1)tmp=1ll*tmp*a%mod;return tmp;
| ^~~~~~
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
6 ms
3416 KB
0_01.txt
AC
3 ms
3508 KB
0_02.txt
AC
2 ms
3592 KB
0_03.txt
AC
2 ms
3408 KB
1_00.txt
AC
2 ms
3516 KB
1_01.txt
AC
34 ms
3760 KB
1_02.txt
AC
29 ms
3704 KB
1_03.txt
AC
170 ms
5208 KB
1_04.txt
AC
165 ms
5208 KB
1_05.txt
AC
170 ms
5332 KB
1_06.txt
AC
77 ms
5132 KB
1_07.txt
AC
168 ms
5340 KB
1_08.txt
AC
170 ms
5156 KB
1_09.txt
AC
168 ms
5324 KB
1_10.txt
AC
169 ms
5320 KB
1_11.txt
AC
127 ms
5188 KB
1_12.txt
AC
169 ms
5328 KB
1_13.txt
AC
167 ms
5192 KB
1_14.txt
AC
168 ms
5320 KB
1_15.txt
AC
137 ms
5324 KB
1_16.txt
AC
126 ms
5188 KB
1_17.txt
AC
168 ms
5264 KB
1_18.txt
AC
77 ms
5192 KB
1_19.txt
AC
171 ms
5324 KB
1_20.txt
AC
37 ms
4716 KB
1_21.txt
AC
5 ms
3584 KB
1_22.txt
AC
71 ms
5256 KB
1_23.txt
AC
73 ms
5216 KB
1_24.txt
AC
26 ms
4224 KB
1_25.txt
AC
2 ms
3448 KB
1_26.txt
AC
121 ms
5320 KB
1_27.txt
AC
10 ms
3632 KB
1_28.txt
AC
37 ms
4296 KB
1_29.txt
AC
26 ms
3936 KB
1_30.txt
AC
5 ms
3584 KB
1_31.txt
AC
161 ms
5308 KB
1_32.txt
AC
27 ms
3992 KB
1_33.txt
AC
7 ms
3724 KB
1_34.txt
AC
38 ms
4324 KB
1_35.txt
AC
27 ms
4016 KB