比赛 期末考试2 评测结果 AATTTTTWWTTTTTTTTTTTTTTTT
题目名称 数好图 最终得分 8
用户昵称 郑霁桓 运行时间 23.368 s
代码语言 C++ 内存使用 3.42 MiB
提交时间 2026-02-10 11:34:34
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,t[20],as[20];
vector<int>v[20];
inline bool df(int x){
	if(x==n){
		t[x]=1;
		return true;
	}
	for(int i=0;i<v[x].size();i++){
		if(df(v[x][i])) t[x]=1;
	}
	return t[x];
}
inline void dfs(int x){
	if(x==n+1){
		for(int i=1;i<=n;i++) t[i]=0;
		df(1);
		int ss=0;
		for(int i=1;i<=n;i++) if(t[i]) ss++;
		as[ss]++;
	}
	for(int i=0;i<(1<<(n-x));i++){
		for(int j=1;j<=n-x;j++){
			if((i>>(j-1))&1){
				v[x].push_back(j+x);
			}
		}
		dfs(x+1);
		v[x].clear();
	}
	return;
}
int main(){
	freopen("graph.in","r",stdin);
	freopen("graph.out","w",stdout); 
	cin>>n;
	dfs(1);
	for(int i=0;i<=n;i++) cout<<as[i]<<" ";
    return 0;
}