当前位置:网站首页>*1-3 OJ 291 老鼠与猫的交易
*1-3 OJ 291 老鼠与猫的交易
2022-08-09 13:31:00 【叶萧白】
题目描述

输入

输出

样例输入

样例输出

源代码
#include <stdlib.h>
#include <stdio.h>
int main()
{
int m;
int n;
int k;
int i;
int a[1001],b[1001];
double sum=0;
double p[1001]; //
double max = 0;
while(scanf("%d %d",&m,&n)&&m!=-1&&n!=-1)
{
sum=0; //
for(i=0;i<n;i++)
{
scanf("%d %d",&a[i],&b[i]);
p[i]=(double)a[i]/b[i];
}
while(m!=0&&n!=0)
{
max=0;
for(i=0;i<n;i++)
{
if(p[i]>max)
{
max=p[i];
k=i;
}
}
if(m-b[k]>=0)
{
m=m-b[k];
sum+=a[k];
p[k]=0;
}
else
{
sum+=(double)p[k]*m;
m=0;
}
}
printf("%.3lf\n",sum);
}
return 0;
}
关于这题
要求最优解 就要知道 在一个房间中 满足其中一只猫可以获得的奶酪数 这是解题关键
m 磅 猫食
n 个 房间
a[i]每个房间奶酪数 b[i] 其猫食需求量
p[i] 在一个房间中 满足其中一只猫可以获得的奶酪数
k 标记为第几个房间
max 比较哪一个房间 满足一只猫可以获得的奶酪数最多
注:在计算除法时 要转double 类型
边栏推荐
猜你喜欢
随机推荐
将 .json 格式 转换成 .xml格式
蓝桥杯嵌入式(STM32F103RBT6)最全攻略(一)
Where to go to IOE-EBS
CutefishOS系统默认自动桌面壁纸
12.cuBLAS开发指南中文版--cuBLAS中的Level-1函数asum()和axpy()
C语言 三子棋(含完整 代码详解)
数据增广
内容社区行业搜索最佳实践
The use of Jetpack Compose - Button (Button)
C语言,if循环 for 循环 while循环 switch循环 do...while()循环
力扣学习路径
openharmony容器组件之GridContainer
ttemp
Jetpack Compose - Use of TextField and OutlinedTextField (text box)
C语言 一维数组和二维数组的定义及使用
阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
曾毓群想做王传福
汇编语言学习(九)
手机厂商失守元宇宙
vs how to use a Button to link to another page









