#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c,n,cost,flag=0;//a男人 b女人 c小孩 n输入的人数 cost输入的花费 flag标志数
scanf("%d %d",&n,&cost);
for(a=0;a<=cost/3;a++)//假设cost=12,男人的最大人数为12/3=4人,可得男人的最大人数等于总花费/3
{
for(b=0;b<=cost/2;b++)//假设cost=12,女人的最大人数为12/2=6人,可得女人的最大人数等于总花费/2
{
c=n-a-b;
if(c>=0&&a+b+c==n&&3*a+2*b+c==cost)//设置小孩的人数大于等于0,不然输出将包括负数情况,abc满足数量关系式则答案成立,反之题目无解
{
flag=1;//标志数改变寻找到答案
printf("%d %d %d\n",a,b,c);
}
}
}
if(flag==0)//标志数不变题目无解
{
printf("No answer");
}
return 0;
}
标签:include,int,聚餐,flag,cost,&&,printf,ZZULIOJ1075,人数
From: https://blog.csdn.net/weixianpaidui/article/details/140426228