P1164 小A点菜

news/2025/1/14 22:31:38/

题目背景

uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……餐馆,很低端的那种。

uim 指着墙上的价目表(太低级了没有菜单),说:“随便点”。

题目描述

不过 uim 由于买了一些书,口袋里只剩 M 元(M≤10000)。

餐馆虽低端,但是菜品种类不少,有 N 种 (N≤100),第 i 种卖ai​ 元 (ai​≤1000)。由于是很低端的餐馆,所以每种菜只有一份。

小 A 奉行“不把钱吃光不罢休”,所以他点单一定刚好把 uim 身上所有钱花完。他想知道有多少种点菜方法。

由于小 A 肚子太饿,所以最多只能等待 11 秒。

输入格式

第一行是两个数字,表示 N 和 M。

第二行起 N 个正数 ai​(可以有相同的数字,每个数字均在 1000 以内)。

输出格式

一个正整数,表示点菜方案数,保证答案的范围在 int 之内。

输入输出样例

输入 

4 4
1 1 2 2

输出 

3

方程 f[i,j]:=f[i-1,j]+f[i-1,j-a[i]];

数组表示在前i道菜中,总价格为j。

你可以不点这道菜(f[i-1,j]),或者点(f[i-1,j-a[i]])

二维代码实现

#include<iostream>
using namespace std;
const int N=110;
int a[N];
int f[N][10064];  //数组表示在前i道菜中,总价格为j。int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(j<a[i])           //钱不够,不点f[i][j]=f[i-1][j];if(a[i]==j)     //钱刚好够,点f[i][j]=f[i-1][j]+1;if(j>a[i])                 //钱还有多余,点+不点 f[i][j]=f[i-1][j]+f[i-1][j-a[i]];}} cout<<f[n][m]<<endl;return 0;
}

一维代码实现

#include<iostream>
using namespace std;
const int N=110;
int a[N];
int f[10064]; int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i];f[0]=1;for(int i=1;i<=n;i++){for(int j=m;j>=a[i];j--){f[j]=f[j]+f[j-a[i]];}} cout<<f[m]<<endl;return 0;
}


http://www.ppmy.cn/news/1001955.html

相关文章

大数据开发的前景怎么样?该怎么学习?

猎聘大数据研究院发布了《2022未来人才就业趋势报告》 从排名来看&#xff0c;2022年1-4月各行业中高端人才平均年薪来看&#xff0c;人工智能行业中高端人才平均年薪最高&#xff0c;为31.04万元&#xff1b;金融行业中高端人才以27.69万元的平均年薪位居第二&#xff1b;通信…

SAM在医学图像分割的一些研究(Segment Anything Model for Medical Images?(2023))

使用预训练模型通过两种主要模式进行分割&#xff0c;包括自动一切和手动提示(例如&#xff0c;点和框)。SAM在各种自然图像分割任务上取得了令人印象深刻的效果。然而&#xff0c;由于医学图像的形态复杂、解剖结构精细、物体边界不确定和复杂、物体尺度大&#xff0c;使得医学…

[Qt]FrameLessWindow实现调整大小

说明 我们知道QWidget等设置了this->setWindowFlags(Qt::FramelessWindowHint);后无法移动和调整大小&#xff0c;但实际项目中是需要窗口能够调整大小的。所以以实现FrameLess弹窗调整大小需求&#xff0c;以此类推&#xff0c;移动窗口也就很简单了&#xff08;这里没有实…

分布式框架dubbo

1.分布式系统相关概念 1.1基本概念 1.2 集群和分布式 1.3 架构演进 A是一个微服务。ADB是一个组件。A可以java&#xff0c;B可以python实现。 2 dubbo 2.1 概述 2.2 dubbo代码 2.2.1 服务提供者的改造-将项目service层对外发布到dubbo 通过dubbo中的service注解&#xff…

学无止境·运维高阶③(Mysqldump脚本)

Mysqldump脚本 1、详细脚本2、执行 1、详细脚本 #!/bin/bash mysql_cmd‘-uroot -pRedHat123’ exclude_db‘information_schema|performance_schema|sys’ bak_path/backup/db mysql m y s q l c m d − e ′ s h o w d a t a b a s e s ′ − N ∣ e g r e p − v " {m…

2023年08月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年08月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

Python——调用webdriver.Chrome() 报错

今天运行脚本&#xff0c;报错内容如下&#xff1a; collecting ... login_case.py:None (login_case.py) login_case.py:11: in <module> dr webdriver.Chrome() D:\Program Files (x86)\Python\Python39\Lib\site-packages\selenium\webdriver\chrome\webdriver.p…

MYSQL进阶-事务

什么是数据库事务&#xff1f; 事务是一个不可分割的数据库操作序列&#xff0c;也是数据库并发控制的基本单位&#xff0c;其执 行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上 的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 事务最…