我不懂,就问问
  • 板块灌水区
  • 楼主zcx0628
  • 当前回复7
  • 已保存回复9
  • 发布时间2024/11/9 11:19
  • 上次更新2024/11/9 14:07:52
查看原帖
我不懂,就问问
779007
zcx0628楼主2024/11/9 11:19

有 1 元、5 元、10 元、50 元、100 元硬币各有若干枚,现在要用这些硬币支付 nn 元,问最少需要多少枚硬币。
对了,有 tt 组数据。而且5种币有限量,凑不出来输出-1。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n,a,b,c,d,e,ans=0,tmp=0;
		cin>>n>>a>>b>>c>>d>>e;
		if(e*100<n){
			n-=e*100;
			ans+=e;
		}else{
			tmp=n/100;
			n%=100;
			ans+=tmp;
		}
		if(d*50<n){
			n-=d*50;
			ans+=d;
		}else{
			tmp=n/50;
			n%=50;
			ans+=tmp;
		}
		if(c*10<n){
			n-=d*10;
			ans+=d;
		}else{
			tmp=n/10;
			n%=10;
			ans+=tmp;
		}
		if(b*5<n){
			n-=b*5;
			ans+=d;
		}else{
			tmp=n/5;
			n%=5;
			ans+=tmp;
		}
		if(a<n){
			cout<<-1;
		}else{
			cout<<ans;
		}
		cout<<endl;
	}
	return 0;
}

我debug了好长时间,没debug出来。

orz

2024/11/9 11:19
加载中...