栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

P1657 选书

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

P1657 选书

P1657 选书

这篇题解主要是练习一下容器的基本使用(用一些容器简单操作来写)

代码如下:

思想是全排列 以前有发布的全排列题解 蛮简单的

#include
using namespace std;
vector  v[22];
int n,num;
int f[22];
set s;
void dfs(int depth){
	if(depth>n){
		if(s.size()==n){
			num++;
		}
		return ;
	}
	vector::iterator it;
	for(it=v[depth].begin();it!=v[depth].end();it++){
		if(!f[*it]){
			f[*it]=1;
			s.insert(*it);
			dfs(depth+1);
			f[*it]=0;
		}
	}
	return ;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		int a,b;
		cin>>a>>b;
		v[i].push_back(a);
		v[i].push_back(b);
	}
	dfs(1);
	cout< 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836645.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号