永发信息网

这个程序哪里错了哈!~~、

答案:2  悬赏:40  手机版
解决时间 2021-07-22 04:27
  • 提问者网友:你挡着我发光了
  • 2021-07-21 18:13

#include<stdio.h>
void main()
{
int n,t[11][2],m,i,j,k,p;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d %d",&t[i][0],&t[i][1]);
scanf("%d",&m);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(t[i][0]<t[j][0])
{
k=t[i][0];p=t[i][1];
t[i][0]=t[j][0];t[i][1]=t[j][1];
t[j][0]=k;t[j][1]=p;
}
k=0;
for(i=0;i<n;i++)
while(t[i][1])
{
if(m-t[i][0]>=0)
{
m-=t[i][0];k++;t[i][1]--;
}
else
break;
if(m==0)
printf("%d\n",k);
}
if(m!=0)
printf("-1\n");
}
}

题目: http://219.219.54.201:8080/JudgeOnline/showproblem?problem_id=1279

最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-07-21 18:51
没错呀.....
全部回答
  • 1楼网友:人類模型
  • 2021-07-21 20:16

设有 n 种不同面值的硬币,各硬币的面值存于数组 T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。 对任意钱数0<=m<=20001,对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins,以及钱数m,0≤m≤20001,编程计算找钱m的最少硬币数。

Input

输入的第一行中只有1个整数给出n的值,第2行起每行2个数,分别是T[j]和Coins[j]。最后1行是要找的钱数m。

Output

将计算出的最少硬币数输出到屏幕

你有没有按要求来啊,数组要求用Coins[],T[],等等了,你改后在试一下。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯