提交记录 3779


用户 题目 状态 得分 用时 内存 语言 代码长度
DOlaBMOon noi18b. 【NOI2018】冒泡排序 Runtime Error 44 1 s 163876 KB C++ 957 B
提交时间 评测时间
2018-07-18 17:34:10 2020-07-31 21:37:42
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>

using namespace std;

const int N=20;
const int MX=(1<<N)+10;

int n,S,p[N];

int dp[2][N][MX];

bool check(int s,int p,int x)
{
	if((s>>x)&1)
		return false;
	int t=(1<<x)-1;
	if(p>=x)
		return t==(s&t);
	else
		return (s&(S^t))==0;
}

int dfs(int lim,int nw,int s)
{
	int& res=dp[lim][nw][s];
	if(~res)
		return res;
	if(nw==n)
	{
		res=!lim;
		return res;
	}
	res=0;
	if(lim)
	{
		for(int i=p[nw];i<n;++i)if(check(s,nw,i))
			res+=dfs(i==p[nw],nw+1,s^(1<<i));
	}
	else
	{
		for(int i=0;i<n;++i)if(check(s,nw,i))
			res+=dfs(0,nw+1,s^(1<<i));
	}
	return res;
}

void work()
{
	scanf("%d",&n);
	S=(1<<n)-1;
	for(int i=0;i<n;++i)
	{
		scanf("%d",p+i);
		--p[i];
	}
	memset(dp,-1,sizeof dp);
	printf("%d\n",dfs(1,0,0));
}

int main()
{
	//freopen("inverse.in","r",stdin);
	//freopen("inverse.out","w",stdout);
	int T;
	for(scanf("%d",&T);T--;)
		work();
	return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #136.103 ms160 MB + 36 KBAcceptedScore: 4

Testcase #236.162 ms160 MB + 36 KBAcceptedScore: 4

Testcase #336.159 ms160 MB + 36 KBAcceptedScore: 4

Testcase #436.687 ms160 MB + 36 KBAcceptedScore: 4

Testcase #536.876 ms160 MB + 36 KBAcceptedScore: 4

Testcase #638.606 ms160 MB + 36 KBAcceptedScore: 4

Testcase #744.094 ms160 MB + 36 KBAcceptedScore: 4

Testcase #844.079 ms160 MB + 36 KBAcceptedScore: 4

Testcase #952.667 ms160 MB + 36 KBAcceptedScore: 4

Testcase #1081.543 ms160 MB + 36 KBAcceptedScore: 4

Testcase #1198.631 ms160 MB + 36 KBAcceptedScore: 4

Testcase #12190.143 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #1338.181 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #1437.766 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #1538.277 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #16240.968 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #1740.349 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #18313.503 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #19240.124 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #20182.707 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #21188.798 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #2237.755 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #2338.177 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #24439.721 ms160 MB + 32 KBRuntime ErrorScore: 0

Testcase #251 s160 MB + 36 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-18 01:11:13 | Loaded in 2 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠