首页 > 分享 > 80 饲料调配

80 饲料调配

问题

农夫约翰从来只用调配得最好的饲料来为他的奶牛。

饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。

给出三组整数,表示 大麦:燕麦:小麦 的比例,找出用这三种饲料调配 x:y:z 的饲料的方法。

例如,给出目标饲料 3:4:5 和三种饲料的比例:

1:2:3

3:7:1

2:1:2

你必须编程找出使这三种饲料用量最少的方案,要是不能用这三种饲料调配目标饲料,输出’NONE’。'用量最少’意味着三种饲料的用量(整数)的和必须最小。

对于上面的例子,你可以用8份饲料1,2份饲料2,和5份饲料3,来得到7份目标饲料: 8*(1:2:3) + 1*(3:7:1) + 5*(2:1:2) = (21:28:35) = 7*(3:4:5)

以上数字中,表示饲料比例的整数都是小于100(数量级)的非负整数,表示各种饲料的份数的整数都小于100。一种混合物的比例不会由其他混合物的比例直接相加得到。

输入

Line 1: 三个用空格分开的整数,表示目标饲料

Line 2…4: 每行包括三个用空格分开的整数,表示农夫约翰买进的饲料的比例

输出

输出文件要包括一行,这一行要么有四个整数,要么是’NONE’。前三个整数表示三种饲料的份数,用这样的配比可以得到目标饲料。第四个整数表示混合前三种饲料后得到的目标饲料的份数。

输入范例

3 4 5
1 2 3
3 7 1
2 1 2

输出

8 1 5 7

#include<stdio.h> int main() {int aim[4];int i, j, k ,p;int q_a, q_b, q_c;q_a = q_b = q_c = 0;int flag = 1;int line_1[4], line_2[4], line_3[4];for (i = 1; i <= 3; i++)scanf("%d", &aim[i]);for (i = 1; i <= 3; i++)scanf("%d", &line_1[i]);for (i = 1; i <= 3; i++)scanf("%d", &line_2[i]);for (i = 1; i <= 3; i++)scanf("%d", &line_3[i]);for (i = 0; i <= 100 && flag; i++){for (j = 0; j <= 100 && flag; j++){for (k = 0; k <= 100 && flag; k++){if (i == 0 && j == 0 && k == 0) continue;q_a = i * line_1[1] + j * line_2[1] + k * line_3[1];q_b = i * line_1[2] + j * line_2[2] + k * line_3[2];q_c = i * line_1[3] + j * line_2[3] + k * line_3[3];if (q_a&&aim[1])p = q_a / aim[1];if (q_b&&aim[2])p = q_b / aim[2];if (q_c&&aim[3])p = q_c / aim[3];if (p*aim[1] == q_a && p*aim[2] == q_b && p*aim[3] == q_c){printf("%d %d %d %dn", i, j, k, p);flag = 0;}}}}if(flag)printf("NONEn");return 0; }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

相关知识

东华OJ 基础题80 饲料调配
饲料调配的方法
鹦鹉饲料怎么做 鹦鹉饲料怎么调配
如何调配笼鸟饲料
笼鸟饲料调配方法
一种宠物饲料生产用原料调配装置的制作方法
饲料调配算法
抓蛐蛐的诱饵饲料怎样调配,爬宠蛐蛐饲料
鱼食怎么调配
狗粮配方如何调配

网址: 80 饲料调配 https://m.mcbbbk.com/newsview1044855.html

所属分类:萌宠日常
上一篇: 如何科学饲养丹顶锦鲤?(从水质管
下一篇: 玉鸟软食料制作比例图:详细教程与