参观地点

/*某参观团按以下条件限制从A、B、C、D、E五个地方中选若干参观点:
1)如去A,则必须去B;
2)D、E两地只能去一地;
3)B、C两地只能去一地;
4)C、D两地都去或都不去;
5)若去E地,A、D也必去。
问该团最多能去哪几个地方?
*/

#include"stdio.h"
#include"stdlib.h"
#include"time.h"
int main()
{int a,b,c,d,e;
int x[5];
for(a=0;a<2;a++)
for(b=0;b<2;b++)
for(c=0;c<2;c++)
for(d=0;d<2;d++)
for(e=0;e<2;e++)
{//五个if分别对应五个条件
	if(a&&b||(a==0&&b==0))
if(d+e<2)
if(b+c<2)
if(c&&d)
if(e&&a&&d||(e==0))
{x[0]=a; x[1]=b; x[2]=c;x[3]=d;x[4]=e;
for(int i=0;i<5;i++)
if(x[i])
printf("%c will be arrived\n",'A'+i);
}}
printf("\n");
system("pause");
}

//当然也可以只用用x[0]~x[4],这里用a,b,c,d,e只为直观和方便

原文地址:https://www.cnblogs.com/javawebsoa/p/3080584.html