比赛 普及组2016模拟练习3 评测结果 AAAAAAAAAA
题目名称 圆桌会议 最终得分 100
用户昵称 LGLJ 运行时间 0.037 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-11-15 20:28:34
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <cstdio>
using namespace std;
int n,k,ans=0;
int H[11];
bool h[11]={0};
bool find(int x,int j)
{
	j++;
	if(j==n)
	{
		if(abs(H[1]-x)<=k)
		{
			ans++;
			//cout<<endl;
			return true;
		}
		else
			return false;
	}
	for(int i=2;i<=n;i++)
		if(h[i]==false && abs(H[i]-x)<=k)
		{
			h[i]=true;
			//cout<<H[i]<<' ';
			find(H[i],j);
			h[i]=false;
		}
	return false;
}
int main()
{
	freopen ("round.in","r",stdin);
	freopen ("round.out","w",stdout);
	cin>>n>>k;
	for(int i=1;i<=n;i++)
		cin>>H[i];
	h[1]=true;
	find(H[1],0);
	cout<<ans;
	return 0;
}