问题标题: 酷町堂:1801 换小额钞票

0
0
已解决
李显晨
李显晨
中级启示者
中级启示者
#include<iostream>
#include<cstdio>
using namespace std;
int cnt;
int main(){
    int n;
    cin>>n;
    for(int i=0;i<=n*100/50;i++){
    	for(int j=0;j<=n*100/20;j++){
    		int k=n*100-i*50-j*20;
            if(k>=0) cnt++;
		}
	}
	cout<<cnt;
    return 0;
}

50分TLE

传送门

李显晨在2020-12-16 18:00:25追加了内容

我已自行解决,只要加o3就AC了


0
0
0
汪恺恒
汪恺恒
中级启示者
中级启示者

完全背包求方案总数

定义 a[3]={10,20,50};
定义 n;
定义 f[1005]; 

之后

f[0]=1;

for 0至3{
        for(int j=a[i];j<=总钱数;j++){
            f[j]=f[j]+f[j-a[i]];
        }
    }

最后输出f[n]

//输入自己写

我要回答