[USACO3.2]饲料调配 Feed Ratios
来源:互联网 发布:淘宝网注册帐号银行卡 编辑:程序博客网 时间:2024/06/02 13:50
题目背景
农夫约翰从来只用调配得最好的饲料来喂他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。
题目描述
给出三组整数,表示 大麦:燕麦:小麦 的比例,找出用这三种饲料调配 x:y:z 的饲料的方法。
例如,给出目标饲料 3:4:5 和三种饲料的比例:
1:2:3 3:7:1 2:1:2 你必须编程找出使这三种饲料用量最少的方案,要是不能用这三种饲料调配目标饲料,输出“NONE”。“用量最少”意味着三种饲料的用量(整数)的和必须最小。
对于上面的例子,你可以用8份饲料1,1份饲料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”。前三个整数表示三种饲料的份数,用这样的配比可以得到目标饲料。第四个整数表示混合三种饲料后得到的目标饲料的份数。
输入输出样例
输入样例#1:
3 4 51 2 33 7 12 1 2
输出样例#1:
8 1 5 7
说明
题目翻译来自NOCOW。
USACO Training Section 3.2
【题解】迭代枚举就好了
/*ID:luojiny1LANG:C++TASK:ratios*/#include<cstdio>int v1,v2,v3,w1[3],w2[3],w3[3];int main(){freopen("ratios.in","r",stdin);freopen("ratios.out","w",stdout);scanf("%d%d%d",&v1,&v2,&v3);//目标比例 for(int i=0;i<3;i++)scanf("%d%d%d",&w1[i],&w2[i],&w3[i]);//wi[j]表示第i种饲料,在第j种购买比例中占得比例 for(int i=0;i<100;i++)for(int j=0;j<100;j++)for(int k=0;k<100;k++){if(!i&&!j&&!k)continue;//题目说了肯定会买饲料的 int u1=w1[0]*i+w1[1]*j+w1[2]*k,u2=w2[0]*i+w2[1]*j+w2[2]*k,u3=w3[0]*i+w3[1]*j+w3[2]*k;int t=0;if(v1!=0&&u1!=0)t=u1/v1;//"这三种饲料用量最少的方案"看出,肯定每种饲料必定要都买过。 else if(v2!=0&&u2!=0)t=u2/v2 ;else if(v3!=0&&u3!=0)t=u3/v3;if(v1*t==u1&&v2*t==u2&&v3*t==u3){//防止除数为0,所以用积来比较 printf("%d %d %d %d\n",i,j,k,t);return 0;}} printf("NONE\n");return 0;}
阅读全文
0 0
- [USACO3.2]饲料调配 Feed Ratios
- 【USACO题库】3.2.4 Feed Ratios饲料调配
- 【USACO题库】3.2.4 Feed Ratios饲料调配
- usaco3.2.5饲料调配
- USACO3.2.4 Feed Ratios (ratios)
- USACO3.2.4 Feed Ratios (ratios)
- [USACO3.2.4 Feed Ratios]
- usaco3.2.4 Feed Ratios
- 【USACO3.2.4】饲料调配 纯整数高斯消元
- 【例题】【高斯消元】USACO3.2.4 Feed Ratios
- Feed Ratios
- Feed Ratios
- USACO 3.2 Feed Ratios (ratios)
- 【搜索】【USACO】Feed Ratios
- 枚举解Feed Ratios
- USACO--3.2Feed Ratios
- usaco Feed Ratios
- USACO 3.2.4 feed ratios
- 3.1栈
- jstat查看gc状况信息
- Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本
- 计算oracle数据库字符串时间秒差值
- 编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”; 及将句子中的单词位置倒置,而不改变单词内部结构.
- [USACO3.2]饲料调配 Feed Ratios
- java基础复习-IO附加
- Centos(64位)安装与配置
- 数据库学习笔记之事务、索引
- PG数据库查看索引使用情况
- java事件机制(自定义事件)实例详解
- 代码干货|多种tabs切换的应用
- Mat-成员变量的flags的含义
- Android逆向之旅---SO(ELF)文件格式详解