usaco3.2.4 Feed Ratios

LLC同步整流实战:从驱动时序到调试仿真,效率提升与避坑指南 同步整流技术是提升开关电源效率的关键手段,尤其在LLC谐振变换器中,通过低导通电阻MOSFET替代二极管可显著降低副边整流损耗。然而,驱动时序、电流过零检测及轻载模式切换是工程实践中的核心难点。从Vds检测原理到死区调节,再到仿真与实测验证,工程师需掌握完整的调试方法论。该技术广泛应用于通信电源、服务器电源及车载DC/DC,合理设计LLC同步整流方案能实现满载效率提升约1.8个百分点,同时优化热分布。本文以600W半桥LLC样机为线索,深入分析工作模态、驱动芯片选型、波形判断与仿真模型搭建,为电源设计提供可 阅读详情

一 原题

Feed Ratios
1998 ACM Finals, Dan Adkins

Farmer John feeds his cows only the finest mixture of cow food, which has three components: Barley, Oats, and Wheat. While he knows the precise mixture of these easily mixable grains, he can not buy that mixture! He buys three other mixtures of the three grains and then combines them to form the perfect mixture.

Given a set of integer ratios barley:oats:wheat, find a way to combine them IN INTEGER MULTIPLES to form a mix with some goal ratio x:y:z.

For example, given the goal 3:4:5 and the ratios of three mixtures:

        1:2:3
        3:7:1
        2:1:2
your program should find some minimum number of integer units (the `mixture') of the first, second, and third mixture that should be mixed together to achieve the goal ratio or print `NONE'. `Minimum number' means the sum of the three non-negative mixture integers is minimized.

For this example, you can combine eight units of mixture 1, one unit of mixture 2, and five units of mixture 3 to get seven units of the goal ratio:

    8*(1:2:3) + 1*(3:7:1) + 5*(2:1:2) = (21:28:35) = 7*(3:4:5)

Integers in the goal ratio and mixture ratios are all non-negative and smaller than 100 in magnitude. The number of units of each type of feed in the mixture must be less than 100. The mixture ratios are not linear combinations of each other.

PROGRAM NAME: ratios

INPUT FORMAT

Line 1:Three space separated integers that represent the goal ratios
Line 2..4:Each contain three space separated integers that represent the ratios of the three mixtures purchased.

SAMPLE INPUT (file ratios.in)

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

OUTPUT FORMAT

The output file should contain one line containing four integers or the word `NONE'. The first three integers should represent the number of units of each mixture to use to obtain the goal ratio. The fourth number should be the multiple of the goal ratio obtained by mixing the initial feed using the first three integers as mixing ratios.

SAMPLE OUTPUT (file ratios.out)

8 1 5 7


二 分析

题目里说了,线性组合的系数小于100。然后就枚举三个系数就完了。。有个小坑:可能有原料需求量为0,然后代码就丑的不能看了。


三 代码

运行结果:
USER: Qi Shen [maxkibb3]
TASK: ratios
LANG: C++

Compiling...
Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 4184 KB]
   Test 2: TEST OK [0.011 secs, 4184 KB]
   Test 3: TEST OK [0.000 secs, 4184 KB]
   Test 4: TEST OK [0.043 secs, 4184 KB]
   Test 5: TEST OK [0.032 secs, 4184 KB]
   Test 6: TEST OK [0.022 secs, 4184 KB]

All tests OK.

Your program ('ratios') produced all correct answers! This is your submission #2 for this problem. Congratulations!


AC代码:
/*
ID:maxkibb3
LANG:C++
PROG:ratios
*/

#include<cstdio>
#include<vector>
using namespace std;

struct Ratio {
	int comp[3];
}a[4];

int f(int n1, int n2, int n3) {
	if(n1 == 0 && n2 == 0 && n3 == 0) return -1;
	int sum[3] = {0};
	bool zero[3] = {0};
	vector<int> v;
	for(int i = 0; i < 3; i++) {
		sum[i] += n1 * a[1].comp[i] +
				  n2 * a[2].comp[i] +
				  n3 * a[3].comp[i];
	}
	for(int i = 0; i < 3; i++) {
		if(a[0].comp[i] == 0) {
			zero[i] = true;
		}
	}
	for(int i = 0; i < 3; i++) {
		if(zero[i]) {
			if(sum[i] != 0) return -1;
		}	
		else {
			if(sum[i] % a[0].comp[i] != 0) return -1;
			v.push_back(sum[i] / a[0].comp[i]);
		}
	}
	for(int i = 0; i < v.size(); i++) {
		for(int j = i + 1; j < v.size(); j++) {
			if(v[i] != v[j]) return -1;
		}
	}
	return v[0];
}

int main() {
	freopen("ratios.in", "r", stdin);
	freopen("ratios.out", "w", stdout);
	for(int i = 0; i < 4; i++) {
		for(int j = 0; j < 3; j++) {
			scanf("%d", &a[i].comp[j]);
		}
	}
	
	bool has_ans = false;
	for(int i = 0; i < 100; i++) {
		if(has_ans) break;
		for(int j = 0; j < 100; j++) {
			if(has_ans) break;
			for(int k = 0; k < 100; k++) {
				int tmp = f(i, j, k);
				if(tmp != -1) {
					printf("%d %d %d %d\n", i, j, k, tmp);
					has_ans = true;
					break;
				}
			}
		}
	}
	if(!has_ans) printf("NONE\n");
	return 0;
}


手把手教你学pcie--性能调优 - 中断机制优化 在PCIe系统开发中,中断机制是主机与设备之间通信的重要组成部分。然而,不当的中断设计可能导致CPU负载过高、延迟增加等问题。本文将详细介绍如何优化PCIe系统的中断机制,提升系统性能和响应速度。传统中断(INTx):通过专用引脚发送中断信号,可能引发冲突且效率较低。消息中断(MSI):通过内存写操作发送中断消息,避免冲突并提高效率。扩展消息中断(MSI-X):基于MSI改进,支持更多独立中断向量,适用于复杂场景。选择合适的中断模式对系统性能至关重要。 阅读详情

相关推荐

单片机如何获得5V电源

在单片机实际设计中,有时会需要在电路中用到5V电压源,那么这个常见的实验需求有哪些办法解决呢,我综合网上的资料,概括一下: 1)USB    这种方法在我们直接将单片机板与电脑连接调试的时候,算是简单又方便的办法了,但如果我所要得到的成品不直接连接外部的器件,这就得舍弃。     常用的,USB/5V插头线,这是一种专门的电源线,一端是USB通用接口,可以直插USB端口,另一端是内正外负电压

Echo_Ana的博客 3万+

【USACO题库】3.2.4 Feed Ratios饲料调配

【USACO题库】3.2.4 Feed Ratios饲料调配 (Standard IO) 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 题目描述农夫约翰从来只用调配得最好的饲料来为他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完

wangyuda123456789的博客 691

【PB03F 超详细-环境搭建】蓝牙5.2安信可PB-03F-Kit开发板二次开发环境搭建

PB-03是由深圳市安信可科技有限公司开发的蓝牙模块。本博文介绍安信可PB-03F-Kit开发板的基本情况、开发环境搭建,以及以点亮LED为例介绍程序编写和固件烧录的操作流程。 安信可PB-03F-Kit开发板使用的PHY6252这样一款高集成度的低功耗蓝牙系统级芯片(SoC),专为物联网(IoT)、移动设备、可穿戴电子设备、智能家居等各种应用而设计。......

qq_44078824的博客 1万+

【USACO 3.2.4】饲料调配

【描述】 农夫约翰从来只用调配得最好的饲料来喂他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。 给出三组整数,表示 大麦:燕麦:小麦 的比例,找出用这三种饲料调配 x:y:z 的饲料的方法。 例如,给出目标饲料 3:4:5 和三种饲料的...

Gregory99174的博客 391

华为2019秋招笔试Java实现(2)

华为2019秋招笔试Java实现(2) 笔试日期2019年8月14日 第二题(200分) 题目描述 某程序员小A,有一种表格数据需要存储在文件中。表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串(字符串只包含数字、字母以及特殊字符!@#%^&*()",)。小A设计了一种存储格式,采用文本的方式对表格数据进行存储。文本文件中的每一行,代表了表格数据中的一行数据。具体格式描述如下: 1、采用逗号分隔不同的字段(逗号前后无空格); 2、数字直接采用10进制的文本存储; 3、字符串的存储规则如下

hewhys的博客 1548

【Java开发者必看】LangChain4j实战指南:使用AIService轻松集成聊天记忆Chat Memory到SpringBoot应用,通过封装多轮复杂对话,使聊天记忆的实现变得简单

聊天记忆是指在与用户的多轮对话过程中,能够记住之前的交互内容,从而提供更加连贯和个性化的回复。LangChain4j支持通过ChatMemoryProvider接口实现聊天记忆功能。

Spring Boot-Common On With You 448

Feed Ratios(暴力)

Feed Ratios1998 ACM Finals, Dan Adkins Farmer John feeds his cows only the finest mixture of cow food, which has three components: Barley, Oats, and Wheat. While he knows the precise mixture of th...

Simone chou... 200

科研级YOLO26下采样革新:ContextGuided模块赋能,让特征降维兼具上下文感知的实战指南

在文件夹下新建,将上述类的代码写入其中。这一步是为了让YOLO26的代码架构能识别我们的自定义下采样模块。

LXY_LOVE36的博客 100

P2729 饲料调配 Feed Ratios(模拟::(恶心))

题目背景 农夫约翰从来只用调配得最好的饲料来喂他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。 题目描述 给出三组整数,表示 大麦:燕麦:小麦 的比例,找出用这三种饲料调配 x:y:z 的饲料的方法。 例如,给出目标饲料 3:4:5 和三种饲料...

一身清贫怎敢入繁华 1247

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3936

基于Python的房地产评估数据抓取与分析 —— 房价走势与市场报告

在房地产行业中,了解和分析房产价格的变化趋势、各个地区的房价差异以及市场评价报告,可以帮助投资者、购房者以及政策制定者做出更加明智的决策。本文介绍了如何使用Python爬虫技术抓取房地产平台上的房产评估报告、价格走势等数据,并对抓取的数据进行分析。通过这些技术,您可以自动化抓取房地产平台的数据,分析房价走势,获取市场报告,为房地产投资决策提供数据支持。假设我们要从链家网抓取某个房产的价格、房产描述以及历史成交价格,首先需要获取目标房产页面的URL,并发送HTTP请求。伪装为常见浏览器,避免被识别为爬虫。

2201_76125261的博客 846

USACO 3.2.4 feed ratios

<br />  复习了一下自主招生时学的行列式求解方程组,也就是克莱姆定则的应用。<br /> <br />/* ID: wangqia6 TASK: ratios LANG: C++ */ #include <fstream> using namespace std; const int N = 3; const int M = 4; long b[M],a[M][M],c[M][M]; long det(long a[][M]) { return a[1][1]

inc(Arthur's fighting) 646

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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不同号则说明无解。 否则分别除以gcd输出就行了。/* ID:shijiey1 PROG:ratios LANG:C++ */ #include #include #include using namesp

Shion的专栏 474

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【例题】【高斯消元】USACO3.2.4 Feed Ratios

NKOJ1828 【USACO3.2.4】Feed Ratios饲料调配 时间限制 : 10000 MS 空间限制 : 65536 KB问题描述 农夫约翰从来只用调配得最好的饲料来喂他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。 给出三组

ANG 644

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[USACO3.2.4 Feed Ratios]

[关键字]:数学 解方程组 [题目大意]:给出一种目标饲料的比例,和三种其他饲料的比例,问用这三种饲料各多少能混合出目标饲料多少,要求总用量最小。 //==========================================================================================================================...

weixin_30906671的博客 109

USACO 3.2.4 Feed Ratios

题目既然告诉我们答案的三个数都会小于100 那么就别客气了,直接暴力。 /* PROG:ratios LANG:C++ */ #include using namespace std; int x[4], y[4], z[4], X, Y, Z, R, I, J, K, ans = ~0U>>1; int main() { freopen("ratios.in", "

IcEternal 545

Feed Ratios (ratios)[USACO 3.2.4]

算法:枚举 分析:就是给定了三种饲料的比例然后配出需要的饲料就行了,注意给出的比例中包括了0,所以还要特判一下0这种情况。 { ID:1011mashuo PROG:ratios LANG:PASCAL } program ratios; var

186

USACO-Section 3.2 Feed Ratios(枚举)

范围依旧很小,枚举即可

idealism_xxm的专栏 568

USACO 3.2 Feed Ratios (ratios)

/* Main idea Enumeration, because there are 100^3 cases; Note the case where ratios may be 0; */ /* ID: haolink1 PROG: ratios LANG: C++ */ //#include #include using namespace std; int goal[3]; in

Hello World! 1553

USACO--3.2Feed Ratios

WF上的水题,直接模拟即可.注意为0情况的处理,我写的有点复杂了.代码如下:/* ID: 15674811 LANG: C++ TASK: ratios */#include<iostream> #include<cstdio> #include<cstring> using namespace std;#define INF 0x3f3f3f3fint xx[5],yy[5],zz[5],k4,s

荒野孤鹰 841

【搜索】【USACO】Feed Ratios

<br /> <br />Farmer John feeds his cows only the finest mixture of cow food, which has three components: Barley, Oats, and Wheat. While he knows the precise mixture of these easily mixable grains, he can not buy that mixture! He buys three other mixtures o

liveas的专栏 930

打卡信奥刷题(1240)用C++实现信奥 P2729 [USACO3.2] 饲料调配 Feed Ratios

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

Loge谈信奥--一个专注于信奥人的博客 5496

USACO Feed Ratios 解题报告

/* ID: thestor1 LANG: C++ TASK: ratios */ #include #include #include #include #include #include #include #include using namespace std; int gcd(int a, int b) { if(b == 0) { return a; }

thestoryofsnow的专栏 1041

Feed Ratios_usaco3.2_暴力

题目描述 Description农夫约翰从来只用调配得最好的饲料来喂他的奶牛。饲料用三种原料调配成:大麦,燕麦和小麦。他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的。他只好购买其他三种混合饲料(同样都由三种麦子组成),然后将它们混合,来调配他的完美饲料。给出三组整数,表示 大麦:燕麦:小麦 的比例,找出用这三种饲料调配 x:y:z 的饲料的方法。例如,给出目标饲料 3:4:5 和三种饲料的

olahiuj的博客 378
上一篇: usaco3.2.2 Stringsobits
下一篇: usaco3.2.6 Sweet Butter
max_kibble
博客等级 码龄11年 2粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值