Feed Ratios
题意:有三种饲料,饲料中均含有大麦、燕麦和小麦这三种成分,并且知道每种饲料中三种成分的比例。求按何比例混合三种饲料可以使大麦、燕麦和小麦的比例为x:y:z
解题思路:
- 根据输入列出4元线性方程组
- 应用Cramer法则可以很方便解决这道题,不再赘述
代码:
/*
ID: zc.rene1
LANG: C
PROG: ratios
*/#include<stdio.h>
#include<stdlib.h>
#include<string.h>void Transform(int mixtures[3][3])
{int i, j, temp;for (i=0; i<3; i++){for (j=0; j<i; j++){temp = mixtures[i][j];mixtures[i][j] = mixtures[j][i];mixtures[j][i] = temp;}}
}int GetValue(int mixtures[3][3])
{int p[3];p[0] = mixtures[0][0] * (mixtures[1][1] * mixtures[2][2] - mixtures[1][2] * mixtures[2][1]);p[1] = mixtures[0][1] * (mixtures[1][0] * mixtures[2][2] - mixtures[1][2] * mixtures[2][0]);p[2] = mixtures[0][2] * (mixtures[1][0] * mixtures[2][1] - mixtures[1][1] * mixtures[2][0]);return p[0] - p[1] + p[2];
}void GetResult(int d[4], FILE *fout)
{int n, i, temp;int result[3];if (d[0] < 0){for (i=0; i<4; i++){d[i] -= 2*d[i];}}for (i=0; i<4; i++){if (d[i] < 0){fprintf(fout, "NONE\n");return ;}}for (n=1; n<100; n++){temp = 1;for (i=1; i<4; i++){if (((n * d[i]) % d[0]) != 0){temp = 0;break;}}if (temp == 1){break;}}for (i=0; i<3; i++){result[i] = d[i+1] * n / d[0];}fprintf(fout, "%d %d %d %d\n", result[0], result[1], result[2], n);
}int main(void)
{FILE *fin, *fout;int goal[3];int mixtures[3][3];int mixtures_cp[3][3];int i, j;int d[4];fin = fopen("ratios.in", "r");fout = fopen("ratios.out", "w");for (i=0; i<3; i++){fscanf(fin, "%d", &goal[i]);}for (i=0; i<3; i++){for (j=0; j<3; j++){fscanf(fin, "%d", &mixtures[i][j]);}}Transform(mixtures);memcpy(mixtures_cp, mixtures, 9*sizeof(int));d[0] = GetValue(mixtures);if (d[0] != 0){for (i=1; i<=3; i++){for (j=0; j<3; j++){mixtures[j][i-1] = goal[j];}d[i] = GetValue(mixtures);memcpy(mixtures, mixtures_cp, 9*sizeof(int));}GetResult(d, fout);}else{fprintf(fout, "NONE\n");}return 0;
}
Feed Ratios相关推荐
- usaco3.2.4 Feed Ratios
一 原题 Feed Ratios 1998 ACM Finals, Dan Adkins Farmer John feeds his cows only the finest mixture of c ...
- 【例题】【高斯消元】USACO3.2.4 Feed Ratios
NKOJ1828 [USACO3.2.4]Feed Ratios饲料调配 时间限制 : 10000 MS 空间限制 : 65536 KB 问题描述 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用 ...
- usaco Feed Ratios
一开始没看清100以内的限制没法下手百度后发现他们都说100以内回去又把题读了读.....理解能力有点问题... 数字很小就简单了枚举...注意0注意0注意0.我被坑死了开始写好一个没考虑0,wa了发 ...
- 【USACO题库】3.2.4 Feed Ratios饲料调配
这一题,有许多的细节要注意一下!特别是循环中的判断!先看一下代码: #include<cstdio> using namespace std; int a[4][4]; int main( ...
- USACO-Section 3.2 Feed Ratios(枚举)
此处有目录↑ 描述 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用三种原料调配成:大麦,燕麦和小麦.他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的.他只好购买其他三种混合饲料(同样都由 ...
- USACO3.2.4 Feed Ratios (ratios)
其实就是求一个最简配比a,b,c,t使a(x1,y1,z1)+b(x2,y2,z2)+c(x3,y3,z3)=t(k1,k2,k3) 用行列式求出a,b,c,t.如果t=0或abct不同号则说明无解. ...
- USACO Training Section 3.2 Feed Ratios
[url="http://ace.delos.com/usacoprob2?a=JbTv7diNbha&S=ratios"]英文原题[/url] [url="ht ...
- Feed Ratios_usaco3.2_暴力
题目描述 Description 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用三种原料调配成:大麦,燕麦和小麦.他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的.他只好购买其他三种混合 ...
- 支撑亿级用户“刷手机”,百度Feed流背后的新技术装备有多牛?
导读:截止到2018年底,我国网民使用手机上网的比例已高达98.6%,移动互联网基本全方位覆盖.智能手机的操作模式让我们更倾向于通过简单的"划屏"动作,相对于传统的文本交互方式来获 ...
最新文章
- Springboot使用thymeleaf进行页面跳转
- kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap
- Windows10下安装MySQL8.0
- 【进阶】python写一个小猫
- xmpp 服务研究(二) prosody 创建账户
- 台式计算机windows7系统怎么做,台式电脑怎么在线一键重装win7操作系统
- 中国互联网发展报告2018年度总结
- 程序员过了 35 岁还能干嘛?这是我听过最棒的建议!
- MDK 使用 ST-Link 下载出现 target dll has been cancelled 的错误的解决方法
- 电脑游戏测试cpugpu软件,【七彩虹GTX760评测】七彩虹iGame760烈焰战神规格介绍-中关村在线...
- STM32连接WIFI-ESP8266获取天气信息---STA模式运用
- ISCC2021wp
- 记录一次canvas小白做相册功能的过程
- Generative Adversarial Networks in Computer Vision: A Survey and Taxonomy(计算机视觉中的GANs:综述与分类)
- 冯提出的计算机工作原理是,冯诺依曼提出的计算机的基本工作原理是什么
- VBA编程——范例一
- 基于android蓝牙zigbee的led路灯监控系统设计,基于ZigBee的智能小区LED路灯控制系统设计...
- roce和iwarp_InfiniBand, RDMA, iWARP, RoCE
- java 图像处理截圆形的图形(修改版)
- Nginx 支持 Quic 从这里开始
热门文章
- Java 首字母转大写,StringUtils.capitalize
- 每周一喂丨网络黑灰产工具“八大样儿”
- idr寄存器、_STM32F103设置上拉输入后GPIOE-IDR寄存器疑惑 PA按键有效PE key2按键无效...
- Linux - 一次性计划任务之at命令使用
- Flutter开发之——getX-路由管理(04)
- 利用VMM建立基于事务的层次化验证平台
- 制作Mac版的星际争霸II(StarCraft II)
- 中秋佳节之际祝各位网友身体健康,心情愉快!
- yum源解释(接地气)
- 六大行业动向,给2021年新能源汽车行业画下句点