洛谷 P1657 选书
2024-08-26 12:23:01
题目描述
学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是每人有两本喜欢的书。老师事先让每个人将自己喜欢的书填写在一张表上。然后根据他们填写的表来分配书本,希望设计一个程序帮助老师求出所有可能的分配方案,使每个学生都满意。
输入输出格式
输入格式:
第1行:一个数x
第2行~第1+x行:每行两个数,表示ai喜欢的书的序号
输出格式:
只有一个数:总方案数total。
输入输出样例
说明
所有数据:x<=20
(世界上最难出数据的题目,没有之一……)
思路:搜索
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,ans;
int a[],b[],vis[];
void dfs(int tot){
if(tot==n){
ans++;
return ;
}
if(vis[a[tot+]]&&vis[b[tot+]]) return ;
if(!vis[a[tot+]]) vis[a[tot+]]=,dfs(tot+),vis[a[tot+]]=;
if(!vis[b[tot+]]) vis[b[tot+]]=,dfs(tot+),vis[b[tot+]]=;
}
int main(){
scanf("%d",&n);
if(n==){ cout<<"";return ; }
for(int i=;i<=n;i++)
scanf("%d%d",&a[i],&b[i]);
dfs();
cout<<ans;
}
最新文章
- getopt,getoptlong学习
- .net App_Browser文件夹的作用
- Java中的自增问题(i=i++)
- JS无缝滚动
- Mysql 更改最大连接数
- Google chrome的字体设置
- Linux下UDP收/发广播消息简单实现
- Spring、struts、webwork2三者MVC的比较
- 蓝牙代理报错:invalid handle error
- Python操作MySQL -即pymysql/SQLAlchemy用法
- Poj 3517 And Then There Was One(约瑟夫环变形)
- mysql sqlserver Oracle字符串连接
- Angela Merkel poised for record poll win and historic third term
- ASP.NET MVC最新特性
- Powershell-远程操作
- 第20月第14天 objc_getAssociatedObject _cmd
- jmeter解决request response中文乱码问题
- 在Jenkins中配置执行远程shell命令(转)
- 功率谱密度(PDS)的MATLAB分析
- yum安装_yum命令的相关操作
热门文章
- angular4自定义组件非input元素实现ngModel双向数据绑定
- AngularJS实现cookie跨域
- jQuery对表格进行类样式
- js---17继承中方法属性的重写
- Extjs在HtmlEditor的工具栏上插入自定义按钮
- js中常用的对象—Math的属性和方法
- 在kafka/config/目录下面有3个配置文件参数说明(producer.properties。consumer.properties。server.properties)
- vue和miniui 一起使用
- 2229: [Zjoi2011]最小割(最小割树)
- area热点区域