B3635 硬币问题,90pts,求调。qwq。。。
  • 板块灌水区
  • 楼主guimei121212
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/15 22:24
  • 上次更新2024/10/16 11:09:38
查看原帖
B3635 硬币问题,90pts,求调。qwq。。。
1340936
guimei121212楼主2024/10/15 22:24
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(){
    int n;
    cin>>n; 
    if(n==0){
        cout<<0;
        return 0;
    }
    if(n==1){
        cout<<1;
        return 0;
    }
    vector<int> dp(n+1,0);
    dp[1]=1;
    dp[2]=2;
    for(int i=1;i<=n+1;i++){
        int a,b,c;
        if(i>=5&&i<11){
       		 a=1+dp[i-1];
       		 b=1+dp[i-5];
       		 dp[i]=min(a,b);
        }else if(i>11){
        	 a=1+dp[i-1];
			 b=1+dp[i-5];
             c=1+dp[i-11];
             dp[i]=min(c,min(a,b));
        }else{
			a=1+dp[i-1];
			dp[i]=a;
		}
       
    }
    
    cout<<dp[n];
    
    
    return 0;
}
2024/10/15 22:24
加载中...