7-136 窮舉問題-搬磚 (15分)
某工地需要搬運磚塊,已知男人一人搬3
塊,女人一人搬2
塊,小孩兩人搬1
塊。如果想用n
人正好搬n
塊磚,問有多少種搬法?
輸入格式:
輸入在一行中給出一個正整數n
。
輸出格式:
輸出在每一行顯示一種方案,按照"men = cnt_m, women = cnt_w, child = cnt_c
"的格式,輸出男人的數量cnt_m
,女人的數量cnt_w
,小孩的數量cnt_c
。請注意,等號的兩側各有一個空格,逗號的后面也有一個空格。
如果找不到符合條件的方案,則輸出"None
"
輸入樣例:
45
輸出樣例:
men = 0, women = 15, child = 30
men = 3, women = 10, child = 32
men = 6, women = 5, child = 34
men = 9, women = 0, child = 36
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j,k;
int flag=0;
for(i=0;i<=n/3;i++)
for(j=0;j<=n/2;j++)
for(k=0;k<=n;k+=2)
{
if(3*i+2*j+k/2==n&&i+j+k==n)
{
flag=1;
printf("men = %d, women = %d, child = %d\n",i,j,k);
}
}
if(flag==0)
{
printf("None\n");
}
return 0;
}