哪几个人参加了会议?

有人邀请A,B,C,D,E,F6个人参加一项会议,这6个人有些奇怪,因为他们有很多要求,已知:

1.A,B两人至少有1人参加会议。

2.A,E,F3人中有2人参加会议。

3.B和C两人一致决定,要么两人都去,要么两人都不去。

4.A,D两人中只1人参加会议。

5.C,D两人中也只要1人参加会议。

6.如果D不去,那么E也决定不去。那么最后究竟有哪几个人参加了会议呢?

简单推理,暴力枚举~

答案是:A,B,C,F

#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<algorithm>
#include<cstring>
#include<string>
#include<iostream>
#define ms(x,y) memset(x,y,sizeof(x))
const int MAXN=1000+10;
const int INF=1<<30;
using namespace std;
int n=6;
int A[100];

bool J1()
{
	if(A[1] || A[2]) return 1;
	return 0;
}

bool J2()
{
	if((A[1] && A[5] && A[6]==0) || (A[1] && A[5]==0 && A[6]) || (A[1]==0 && A[5] && A[6])) return 1;
	return 0;
}

bool J3()
{
	if(A[2] && A[3]) return 1;
	if(A[2]==0 && A[3]==0) return 1;
	return 0;
}

bool J4()
{
	if(A[1] && A[4]==0) return 1;
	if(A[1]==0 && A[4]) return 1;
	return 0;
}

bool J5()
{
	if(A[3] && A[4]==0) return 1;
	if(A[3]==0 && A[4]) return 1;
	return 0;
}

bool J6()
{
	if(A[4]==0 && A[5]) return 0;
	return 1;
}

bool judge()
{
	if(J1() && J2() && J3() && J4() && J5() && J6()) return 1;
	return 0;
}

void dfs(int cnt, int mark)
{
	A[cnt]=mark;
	if(cnt==n){
		if(judge()){
			for(int i=1; i<=n; i++)
				if(A[i]) cout<<char(i+'A'-1)<<" ";
			cout<<endl;
		}
		return;
	}
	dfs(cnt+1, 0);
	dfs(cnt+1, 1);
}

int main()
{
	//freopen("in.txt","r",stdin);
	dfs(0,0);
	return 0;
}
时间: 2024-10-05 04:01:38

哪几个人参加了会议?的相关文章

java课堂练习之可变参数与卫条件

/* 有人邀请A,B,C,D,E,F 6个人参加一项会议,这6个人有些奇怪,因为他们有很多要求,已知: 1)A,B两人至少有1人参加会议: 2)A,E,F 3人中有2人参加会议: 3)B和C两人一致决定,要么两人都去,要么两人都不去: 4)A,D两人中只1人参加会议: 5)C,D两人中也只要1人参加会议: 6)如果D不去,那么E也决定不去. 那么最后究竟有哪几个人参加了会议呢? */ 可变参数必须位于最后一项.当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数. 可变参数

java之 ------ 可变参数和卫条件

可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 可变参数必须位于最后一项.当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数. 可变参数的书写形式如: int add(int x,int ...args){  方法体 } ... 位于变量类型和变量名之间,前后有无空格都可以: 调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数. 条件逻辑判断型的应用(模拟人工推理) /* 有人邀请A,B,C,D,

你都付出了哪些努力

我们经常会在一件事情的结果不如人意时感到委屈和愤懑(尤其是被别人指摘时):我已经很努力了啊,为什么会这样! 可是,你有客观地思考过这几个问题吗: 你究竟付出了哪些努力呢? 你是不是在正确的方向上努力了呢? 你真的拼尽全力了吗? 如果我们能够无情的用上面3个问题分析自己,就可能得出不一样的结论. 努力行为盘点工具 为了更好的分析自己的努力,我设计了一个表格,如下: 分类 因素 努力行为 结果 改进 可控 部分可控 不可控 在这个表格里,我们列出对一件事情结果有影响的所有因素,把它们分成三类,按照可

工作报告(摘要)t

张克辉1928年生于台湾彰化,他在关于故乡的文章中回忆祖国宝岛光复时的情形:火车站广场上,人们放起鞭炮,庆祝抗战胜利,许久不见的舞龙.舞狮也出现了.他和同学们挤在欢迎祖国军队的人群中,激动地等待庄严的时刻.火车进站时,"祖国万岁"的口号声此起彼伏.他还告诉记者,当时自己和同学们纷纷购买了教材,积极学习普通话,充满了爱国热情. 此外,随着去年各大房企公司债井喷式爆发,监管部门出台了一系列政策以收紧公司债,控制债务规模.比如,沪深交易所接连发布<关于试行房地产.产能过剩行业公司债券分

新疆喀什处理15名官员:一官员公开信教做礼拜

新疆喀什市18日召开干部大会,通报了今年以来违反政治纪律的8起典型案件,对15名干部处理决定,其中5名干部在会上作了深刻检讨. 当天,喀什市四大班子领导,各乡镇场.街道和市直各单位副科级以上干部,各中小学校的负责同志800余人参加了会议. 喀什市委市委副书记.政府市长艾尼瓦尔·吐尔逊通报了15名干部存在的主要问题是:贯彻执行市委的决策部署不力,搞变通.打折扣.做选择,甚至顶风违反政治纪律;在维护祖国统一.加强民族团结.维护社会稳定等大是大非问题上认识不清.态度暧昧.丧失了政治立场;将个人凌驾于组

机器视觉会议以及牛人

机器视觉会议以及牛人 机器学习顶级会议:NIPS, ICML, UAI, AISTATS;  (期刊:JMLR, ML, Trends in ML, IEEE T-NN) 计算机视觉和图像识别:ICCV, CVPR, ECCV;  (期刊:IEEE T-PAMI, IJCV, IEEE T-IP) 人工智能:IJCAI, AAAI; (期刊AI) 另外相关的还有SIGRAPH, KDD, ACL, SIGIR, WWW等. 特别是,如果做机器学习,必须地,把近4年的NIPS, ICML翻几遍:如

站立会议变形记

站立会议对于Scrum的意义,就像我们每天早上起来总是希望看看报纸,听听新闻,了解每日时事,关心国计民生.站立会议有助于Scrum Master以及整个团队了解项目进展情况,以便于控制项目进度,掌握团队成员的开发效率,促进成员之间的交流与沟通,并使所有成员对整个项目能有一个全面的认识. 站立会议的重要性不言而喻.如何遵循Scrum的原则开展好每天的站立会议呢?我在推行的Scrum实践中,发现站立会议总是会随着项目的进展,慢慢地发生变形,最后甚至会变得物事人非.幸运的是,每日的会议却没有理由地达成

国内NLP的那些人那些会

统计学和语言学专家都列在一起了,没有区分.1,黄昌宁,1937年生于广东,1955年考入清华大学电机系,1961年毕业并留校任教至博士生导师, 1983-1984年赴美国耶鲁大学进修,1986-1987年曾在香港理工大学任教,1999年4月加入微软中国研究院任主任研究员.中国计算机自然语言处理领域的"趟路人"和集大成者.2,孙茂松,清华大学计算机科学与技术系系主任,教授,博士生导师.研究方向为自然语言理解.中文信息处理和Web智能.中国中文信息学会副理事长.3,詹卫东,男 ,汉族.籍贯

Scrum站立会议

Scrum是一个包括了一系列实践和预定义角色的过程骨架. 主要角色: 产品负责人: 负责维护产品订单的人,代表利益相关者的利益. Scrum主管 :为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化. 开发团队:一个跨职能的小团队,人数5-9人,团队拥有交付可用软件需要的各种技能. 指导原则: 会议准时开始.对于迟到者团队常常会制定惩罚措施 欢迎所有人参加,但只有在专案中承担实际工作的角色可以发言. 不论团队规模大小,会议被限制在15分钟. 所有出席者都应站立.(有助