Feed Ratios
来源:互联网 发布:rxjava2 遍历数组 编辑:程序博客网 时间:2024/06/06 03:40
题意:有三种饲料,饲料中均含有大麦、燕麦和小麦这三种成分,并且知道每种饲料中三种成分的比例。求按何比例混合三种饲料可以使大麦、燕麦和小麦的比例为x:y:z
解题思路:
- 根据输入列出4元线性方程组
- 应用Cramer法则可以很方便解决这道题,不再赘述
代码:
/*ID: zc.rene1LANG: CPROG: 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
- Feed Ratios
- USACO 3.2 Feed Ratios (ratios)
- USACO3.2.4 Feed Ratios (ratios)
- USACO3.2.4 Feed Ratios (ratios)
- 【搜索】【USACO】Feed Ratios
- [USACO3.2.4 Feed Ratios]
- 枚举解Feed Ratios
- USACO--3.2Feed Ratios
- usaco Feed Ratios
- usaco3.2.4 Feed Ratios
- USACO 3.2.4 feed ratios
- USACO Feed Ratios, Magic Squares
- USACO 3.2.4 Feed Ratios
- USACO Feed Ratios 解题报告
- usaco Chapter 3 section 3.2 Feed Ratios
- [U]3.2.4 Feed Ratios 枚举
- USACO-Section 3.2 Feed Ratios(枚举)
- 《代码大全》软件工程项目
- oprofile
- 各种排序算法的分析及java实现
- ios 开发初步(zz)
- stagefright框架(七)-Audio和Video的同步
- Feed Ratios
- 测试代码
- android中查看项目数字证书的两种方法
- 用C语言篇写一个成绩单,含有姓名,科目名,和总成绩。
- 在VS2008中创建wxWidgets项目向导(一)
- QTP参数类型
- MySQL索引类型一览 让MySQL高效运行起来
- _tmain和main的区别
- jboss for linux安装配置