Submission #3419902


Source Code Expand

#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <cmath>
#include <bitset>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <algorithm>
#include <unordered_map>
#include <unordered_set>
#include <random>
using namespace std;
typedef long long int ll;
typedef pair<int, int> P;
const ll MOD=1e9+7;
int main()
{
	int n, m;
	cin>>n>>m;
	ll dp[16][1<<15];
	vector<int> v;
	for(int i=0; i<(1<<n); i++){
		bool ok=1;
		for(int j=0; j<n-1; j++){
			if((i&(1<<j)) && (i&(1<<(j+1)))){
				ok=0;
				break;
			}
		}
		if(ok){
			dp[0][i]=1;
			v.push_back(i);
		}else{
			dp[0][i]=0;
		}
	}
	for(int i=1; i<m; i++){
		for(auto x:v){
			dp[i][x]=0;
			for(auto y:v){
				bool ok=1;
				for(int j=0; j<n; j++){
					if((x&(1<<j)) && (y&(1<<j))){
						ok=0;
						break;
					}
				}
				if(!ok) continue;
				for(int j=0; j<n-1; j++){
					if((x&(1<<j)) && (y&(1<<(j+1)))){
						ok=0;
						break;
					}
					if((x&(1<<(j+1))) && (y&(1<<j))){
						ok=0;
						break;
					}
				}
				if(ok){
					dp[i][x]+=dp[i-1][y];
					dp[i][x]%=MOD;
				}
			}
		}
	}
	ll ans=MOD-1;
	for(auto x:v){
		ans+=dp[m-1][x];
		ans%=MOD;
	}
	cout<<ans<<endl;
	return 0;
}

Submission Info

Submission Time
Task A - 天下一有無
User chocorusk
Language C++14 (GCC 5.4.1)
Score 40
Code Size 1297 Byte
Status AC
Exec Time 593 ms
Memory 3200 KB

Judge Result

Set Name All
Score / Max Score 40 / 40
Status
AC × 120
Set Name Test Cases
All case0, case1, case10, case100, case101, case102, case103, case104, case105, case106, case107, case108, case109, case11, case110, case111, case112, case113, case114, case115, case116, case117, case118, case119, case12, case13, case14, case15, case16, case17, case18, case19, case2, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case3, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case4, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case5, case50, case51, case52, case53, case54, case55, case56, case57, case58, case59, case6, case60, case61, case62, case63, case64, case65, case66, case67, case68, case69, case7, case70, case71, case72, case73, case74, case75, case76, case77, case78, case79, case8, case80, case81, case82, case83, case84, case85, case86, case87, case88, case89, case9, case90, case91, case92, case93, case94, case95, case96, case97, case98, case99
Case Name Status Exec Time Memory
case0 AC 1 ms 256 KB
case1 AC 1 ms 256 KB
case10 AC 1 ms 2304 KB
case100 AC 5 ms 2304 KB
case101 AC 23 ms 2432 KB
case102 AC 6 ms 2304 KB
case103 AC 148 ms 2816 KB
case104 AC 7 ms 2432 KB
case105 AC 11 ms 2432 KB
case106 AC 12 ms 2432 KB
case107 AC 13 ms 2432 KB
case108 AC 14 ms 2432 KB
case109 AC 15 ms 2432 KB
case11 AC 2 ms 2304 KB
case110 AC 28 ms 2432 KB
case111 AC 31 ms 2560 KB
case112 AC 33 ms 2432 KB
case113 AC 466 ms 2816 KB
case114 AC 77 ms 2432 KB
case115 AC 196 ms 2816 KB
case116 AC 89 ms 2560 KB
case117 AC 212 ms 2816 KB
case118 AC 228 ms 2688 KB
case119 AC 593 ms 3200 KB
case12 AC 1 ms 2304 KB
case13 AC 1 ms 384 KB
case14 AC 2 ms 2304 KB
case15 AC 1 ms 256 KB
case16 AC 1 ms 256 KB
case17 AC 1 ms 256 KB
case18 AC 2 ms 2304 KB
case19 AC 1 ms 256 KB
case2 AC 1 ms 256 KB
case20 AC 2 ms 2304 KB
case21 AC 1 ms 256 KB
case22 AC 1 ms 256 KB
case23 AC 1 ms 2304 KB
case24 AC 1 ms 2304 KB
case25 AC 4 ms 256 KB
case26 AC 8 ms 2432 KB
case27 AC 1 ms 2304 KB
case28 AC 1 ms 2304 KB
case29 AC 1 ms 256 KB
case3 AC 1 ms 256 KB
case30 AC 1 ms 256 KB
case31 AC 2 ms 2304 KB
case32 AC 1 ms 256 KB
case33 AC 1 ms 256 KB
case34 AC 1 ms 256 KB
case35 AC 2 ms 256 KB
case36 AC 2 ms 256 KB
case37 AC 3 ms 2304 KB
case38 AC 1 ms 2304 KB
case39 AC 14 ms 384 KB
case4 AC 2 ms 2304 KB
case40 AC 1 ms 2304 KB
case41 AC 86 ms 2816 KB
case42 AC 1 ms 256 KB
case43 AC 1 ms 2304 KB
case44 AC 1 ms 256 KB
case45 AC 1 ms 2304 KB
case46 AC 1 ms 256 KB
case47 AC 1 ms 2304 KB
case48 AC 2 ms 256 KB
case49 AC 4 ms 256 KB
case5 AC 1 ms 2304 KB
case50 AC 1 ms 2304 KB
case51 AC 1 ms 2304 KB
case52 AC 50 ms 640 KB
case53 AC 1 ms 2304 KB
case54 AC 1 ms 256 KB
case55 AC 1 ms 2304 KB
case56 AC 1 ms 2304 KB
case57 AC 1 ms 256 KB
case58 AC 1 ms 2304 KB
case59 AC 2 ms 2304 KB
case6 AC 1 ms 2304 KB
case60 AC 1 ms 2304 KB
case61 AC 11 ms 2304 KB
case62 AC 27 ms 2432 KB
case63 AC 66 ms 640 KB
case64 AC 171 ms 2688 KB
case65 AC 1 ms 2304 KB
case66 AC 1 ms 2304 KB
case67 AC 1 ms 2304 KB
case68 AC 2 ms 2304 KB
case69 AC 1 ms 2304 KB
case7 AC 1 ms 2304 KB
case70 AC 1 ms 2304 KB
case71 AC 14 ms 384 KB
case72 AC 33 ms 512 KB
case73 AC 83 ms 2688 KB
case74 AC 2 ms 2304 KB
case75 AC 1 ms 256 KB
case76 AC 1 ms 256 KB
case77 AC 2 ms 2304 KB
case78 AC 4 ms 2304 KB
case79 AC 7 ms 2304 KB
case8 AC 1 ms 256 KB
case80 AC 16 ms 384 KB
case81 AC 2 ms 2304 KB
case82 AC 2 ms 2304 KB
case83 AC 255 ms 2688 KB
case84 AC 2 ms 2304 KB
case85 AC 2 ms 2304 KB
case86 AC 2 ms 2304 KB
case87 AC 8 ms 2304 KB
case88 AC 2 ms 2304 KB
case89 AC 2 ms 2304 KB
case9 AC 2 ms 2304 KB
case90 AC 2 ms 2304 KB
case91 AC 298 ms 3200 KB
case92 AC 3 ms 2304 KB
case93 AC 5 ms 2304 KB
case94 AC 3 ms 2304 KB
case95 AC 3 ms 2304 KB
case96 AC 3 ms 2304 KB
case97 AC 4 ms 2304 KB
case98 AC 4 ms 2304 KB
case99 AC 5 ms 2304 KB