Submission #60477113


Source Code Expand

#include<bits/stdc++.h>
#include<atcoder/all>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
using namespace atcoder;
typedef long long ll;
constexpr ll mod=1000000007;
ll x[50],y[50],z[50],w[50];

int main(){
	int n,q;cin>>n>>q;
	rep(i,q){
		cin>>x[i]>>y[i]>>z[i]>>w[i];
		x[i]--;y[i]--;z[i]--;
	}

	ll ans=1;

	for(ll i=0;i<60;i++){
		int cnt=0;
		for(int j=0;j<(1<<n);j++){
			int flg=0;
			for(int k=0;k<q;k++){
				if(((j&(1<<x[k]))|(j&(1<<y[k]))|(j&(1<<z[k])))){
					if(w[k]&(1ll<<i))flg++;
				}
				else{
					if(!(w[k]&(1ll<<i)))flg++;
				}
			}
			if(flg==q)cnt++;
		}
		ans=ans*cnt%mod;
	}
	cout<<ans<<endl;
}

Submission Info

Submission Time
Task 086 - Snuke's Favorite Arrays(★5)
User Rho17
Language C++ 20 (gcc 12.2)
Score 5
Code Size 669 Byte
Status AC
Exec Time 25 ms
Memory 3672 KiB

Judge Result

Set Name All
Score / Max Score 5 / 5
Status
AC × 30
Set Name Test Cases
All 00_sample_00.txt, 00_sample_01.txt, 10_random_large_00.txt, 10_random_large_01.txt, 10_random_large_02.txt, 11_random_max_00.txt, 11_random_max_01.txt, 11_random_max_02.txt, 20_exists_large_00.txt, 20_exists_large_01.txt, 20_exists_large_02.txt, 20_exists_large_03.txt, 20_exists_large_04.txt, 20_exists_large_05.txt, 20_exists_large_06.txt, 20_exists_large_07.txt, 20_exists_large_08.txt, 20_exists_large_09.txt, 21_exists_max_00.txt, 21_exists_max_01.txt, 21_exists_max_02.txt, 21_exists_max_03.txt, 21_exists_max_04.txt, 21_exists_max_05.txt, 21_exists_max_06.txt, 21_exists_max_07.txt, 21_exists_max_08.txt, 21_exists_max_09.txt, 80_corner_00.txt, 81_corner_00.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3588 KiB
00_sample_01.txt AC 1 ms 3520 KiB
10_random_large_00.txt AC 1 ms 3672 KiB
10_random_large_01.txt AC 2 ms 3500 KiB
10_random_large_02.txt AC 1 ms 3616 KiB
11_random_max_00.txt AC 25 ms 3500 KiB
11_random_max_01.txt AC 24 ms 3668 KiB
11_random_max_02.txt AC 24 ms 3516 KiB
20_exists_large_00.txt AC 2 ms 3516 KiB
20_exists_large_01.txt AC 1 ms 3420 KiB
20_exists_large_02.txt AC 2 ms 3472 KiB
20_exists_large_03.txt AC 1 ms 3492 KiB
20_exists_large_04.txt AC 3 ms 3588 KiB
20_exists_large_05.txt AC 1 ms 3492 KiB
20_exists_large_06.txt AC 10 ms 3496 KiB
20_exists_large_07.txt AC 1 ms 3492 KiB
20_exists_large_08.txt AC 1 ms 3664 KiB
20_exists_large_09.txt AC 1 ms 3476 KiB
21_exists_max_00.txt AC 24 ms 3472 KiB
21_exists_max_01.txt AC 24 ms 3504 KiB
21_exists_max_02.txt AC 24 ms 3664 KiB
21_exists_max_03.txt AC 24 ms 3504 KiB
21_exists_max_04.txt AC 23 ms 3524 KiB
21_exists_max_05.txt AC 24 ms 3528 KiB
21_exists_max_06.txt AC 24 ms 3584 KiB
21_exists_max_07.txt AC 24 ms 3448 KiB
21_exists_max_08.txt AC 24 ms 3492 KiB
21_exists_max_09.txt AC 24 ms 3500 KiB
80_corner_00.txt AC 25 ms 3580 KiB
81_corner_00.txt AC 23 ms 3472 KiB