SGU[184] Patties

Description

描述

Petya is well-known with his famous cabbage patties. Petya‘s birthday will come very soon, and he wants to invite as many guests as possible. But the boy wants everybody to try his specialty of the house. That‘s why he needs to know the number of the patties he can cook using the stocked ingredients. Petya has P grams of flour, M milliliters of milk and C grams of cabbage. He has plenty of other ingredients. Petya knows that he needs K grams of flour, R milliliters of milk and V grams of cabbage to cook one patty. Please, help Petya calculate the maximum number of patties he can cook.

Peyta因为他的白菜馅饼非常知名。Peyta的生日快要到了,他想邀请尽可能多的宾客参加他的生日晚会。但是男孩们希望每个人都希望展示自己居家的特长。这就是为什么他希望知道他能够使用备用原料制作多少个馅饼。Petya有P克面粉,M毫升牛奶,C克白菜。他还有很多其他的原料。Peyta知道他需要K克面粉,R毫升牛奶,V克白菜来制作一个馅饼。请你帮Peyta计算一下他最多能够制作多少个馅饼。

Input

输入

The input file contains integer numbers P, M, C, K, R and V, separated by spaces and/or line breaks (1 <= P, M, C, K, R, V <= 10000).

输入文件包含P,M,C,K,R,V,以空格或换行分隔(1 <= P, M, C, K, R, V <= 10000)。

Output

输出

Output the maximum number of patties Petya can cook.

输出Petya最多能够制作的馅饼数。

Sample Input

样例输入

3000 1000 500
30 15 60

Sample Output

样例输出

8

Analysis

分析

简单的数学分析就知道,所求答案为P / K, M / R, C / V的最小值。

Solution

解决方案

#include <iostream>

using namespace std;

int min(int x, int y, int z);

int main()
{
	int P, M, C, K, R, V;
	cin >> P >> M >> C;
	cin >> K >> R >> V;
	cout << min(P / K, M / R, C / V) << endl;
	return 0;
}

int min(int x, int y, int z)
{
	return min(x, min(y, z));
}

 

这道题目涉及到的一个数学思想是——短板理论。

也就是决定能够制作多少个馅饼的数目是由各个原料能够制作的馅饼数的最小值来决定的。

短板理论在我们的日常生活中也很常见。我们也要经常发现自己的短板所在,并对其进行提升,进一步的完善自我,提升自我。

时间: 2024-11-05 15:55:45

SGU[184] Patties的相关文章

【SGU 390】Tickets (数位DP)

Tickets Description Conductor is quite a boring profession, as all you have to do is just to sell tickets to the passengers. So no wonder that once upon a time in a faraway galaxy one conductor decided to diversify this occupation. Now this conductor

ACM: SGU 101 Domino- 欧拉回路-并查集

sgu 101 - Domino Time Limit:250MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Description Dominoes – game played with small, rectangular blocks of wood or other material, each identified by a number of dots, or pips, on its face. The bl

SGU 116 Index of super-prime 数论+完全背包+输出方案

题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=116 题意好晦涩 给你一个不超过一万的数 问它最少可以用多少个“超级素数”来表示 使“超级素数”之和等于它 如果无法这样表示 输出0 否则 按非降序形式输出方案 数论部分就模板的问题 没什么说的 完全背包方面也很常规 说说[输出方案] 背包九讲的伪码给的是二维dp[]的方法 实际上稍加改动就可以用在一维数组上 用一个rec[]记录dp[]的当前状态是从哪个状态转移而来(即上一个状态) 通过

SGU 乱搞日志

SGU 100 A+B :太神不会 SGU 101 Domino: 题目大意:有N张骨牌,两张骨牌有两面有0到6的数字,能相连当且仅当前后数字相同,问能否有将N张骨牌连接的方案?思路:裸的欧拉回路,注意自环,连通 1 //sgu101 2 #include<iostream> 3 #include<cstdio> 4 #include <math.h> 5 #include<algorithm> 6 #include<string.h> 7 #i

SGU 275 To xor or not to xor (高斯消元)

题目地址:SGU 275 首先,贪心的思想,每一二进制位上要尽量是1,而能不能是1用高斯消元来解决.当该位有一个可以使之为1的变元时,就说明这位可以为1,而且令该变元控制该位,然后向低位消元. 代码如下: #include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h>

SGU 221.Big Bishops(DP)

题意: 给一个n*n(n<=50)的棋盘,放上k个主教(斜走),求能放置的种类总数. Solution : 同SGU 220,加个高精度就好了. code #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> using namespace std; string f[2][250][250], ans;

SGU 193.Chinese Girls&#39; Amusement

/* 实际上就是求一个k,满足k<=n/2,且gcd(n,k)=1 如果n为奇数,k为[n/2] 如果n为偶数,k=n/2-1-(n/2)%2 */ #include <iostream> using namespace std; string s; void div2() { string t; int l = s.size() - 1, tem = s[0] - '0'; if (tem > 1) t += '0' + tem / 2; tem &= 1; for (i

sgu 495 Kids and Prizes

计算出每个人得到礼物的概率,然后加起来即可 1 #include<iostream> 2 #include<string.h> 3 #include<algorithm> 4 #include<stdio.h> 5 using namespace std; 6 double dp[101010]; 7 int main(){ 8 int n,m; 9 while(cin>>n>>m){ 10 dp[1]=1; 11 for(int i

SGU 112 a^b-b^a

JAVA大数.... a^b-b^a Time Limit: 250MS   Memory Limit: 4096KB   64bit IO Format: %I64d & %I64u [Submit]   [Go Back]   [Status] Description You are given natural numbers a and b. Find ab-ba. Input Input contains numbers a and b (1≤a,b≤100). Output Write