#12505: 請問最後兩個測姿勢甚麼?


0822_137934 (14306)

學校 : 臺北市私立延平高級中學
編號 : 60259
來源 : [119.14.210.98]
最後登入時間 :
2022-12-27 23:22:35
d904. 換零錢 -- USACO2007January Competition | From: [122.147.19.162] | 發表日期 : 2017-08-03 11:48

#include <bits/stdc++.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
int c,n,sum;
while(cin>>c>>n)
{int a[n];sum=0;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
n--;
while(c>0)
{sum+=c/a[n];
c%=a[n];
n--;}
cout<<sum<<endl;}
return 0;
}

 

 

 

請問哪裡錯?

 
#13204: Re:請問最後兩個測姿勢甚麼?


mmi366127 (unknown)

學校 : 嘉義市私立嘉華高級中學
編號 : 67582
來源 : [163.27.13.253]
最後登入時間 :
2024-03-13 16:14:39
d904. 換零錢 -- USACO2007January Competition | From: [1.175.168.98] | 發表日期 : 2018-01-06 22:39

#include <bits/stdc++.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
int c,n,sum;
while(cin>>c>>n)
{int a[n];sum=0;
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
n--;
while(c>0)
{sum+=c/a[n];
c%=a[n];
n--;}
cout<<sum<<endl;}
return 0;
}

 

 

 

請問哪裡錯?

這題不能用greedy

for example :

47 4

25

18

5

1

最小解應該是 5 -> 18+18+5+5+1

你的程式會得到 25 + 18 + 1 + 1 + 1 + 1 -> 6




 
ZeroJudge Forum