NOIP2011-普及组复赛模拟试题-第二题-买票
题目背景 Background
输入文件tickets.in的第一行是2个整数n、f。其中(2≤n≤1000000),表示票的数目,(10≤f≤10000),表示Ztc身上的钱。
输出文件tickets.out仅一行整数m,表示Ztc能得连续的最大票数。
输入样例(tickets.in):
5 10
2 3 1 6 7
输出样例(tickets.out):
3
思路:这题呢,乍一看,有点像背包问题,选择最优解放入
可以使用递归简单点,把每张门票的价格存入数组,递归函数要有四个条件:
①如果票数没了,说明刚好买完,返回1,ans++
②如果钱没有了,返回0
③如果有钱没票,返回0
④如果上述条件都成立,继续递归,票数--,口袋里的钱减去已经买的门票的钱。
代码如下:
#include <stdio.h>
int w[];//存放每张票的价格
int ans;//结果
int tickets(int s,int n)
{
if(s==)//刚好买完
{
ans++;//ans++
return ;//返回1
}
else if(s<) return ;//如果钱都没有了,返回0
else if(n<=&&s>) return ;//如果还有钱,但是没票卖了,返回0
else
{
if(tickets(s-w[n-],n-)==)//如果刚好能买,身上的钱减去电影票的钱,ans++
{
ans++;
return ;//返回1
}
return tickets(n-,s);//继续,电影票数目--
}
}
int main()
{
int n,f,i;
//freopen("tickets.in","r",stdin);
//freopen("tickets.out","w",stdout);
scanf("%d%d",&n,&f);
if(f==) return ;//没钱了买啥子??O(∩_∩)O
else
{
for(i=;i<n;i++)//输入每张票的价格
{
scanf("%d",&w[i]);
}
tickets(f,n);//传入递归函数(身上的钱,电影票数目)
}
printf("%d\n",ans);
return ;
}
NOIP2011-普及组复赛模拟试题-第二题-买票的更多相关文章
- NOIP2010-普及组复赛模拟试题-第二题-数字积木
题目描述 Description 小明有一款新式积木,每个积木上都有一个数,一天小明突发奇想,要是把所有的积木排成一排,所形成的数目最大是多少呢?你的任务就是读入 n 个数字积木,求出所能形成的最大数 ...
- NOIP2010-普及组复赛模拟试题-第一题-手机
题目背景 Background 现在手机使用越来越广泛了 题目描述 Description 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下.例如要按出 x 就得按 9 两下,第一 ...
- NOIP2011-普及组复赛模拟试题-第一题-NBA总冠军
题目背景 Background 一年两度的期末考要到来了!! 题目描述 Description 又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍.由 ...
- 冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建
2.道路修建 描述 Description liouzhou_101最悲痛的回忆就是NOI2011的道路修建,当时开了系统堆栈,结果无限RE… 出于某种报复心理,就把那题神奇了一下: 在 Z星球上有N ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(九)(2018 CSYZ长沙一中)
T1 Circle [问题描述] 小 w 的男朋友送给小 w 一个 n 个点 m 条边的图,并且刁难小 w 要她找出点数最少的正环. 小 w 不会做,于是向你求助. [输入格式] 第一行两个整数\(n ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(四)
T1 贪吃蛇 [问题描述] 贪吃蛇是一个好玩的游戏.在本题中,你需要对这个游戏进行模拟. 这个游戏在一个 \(n\) 行 \(m\) 列的二维棋盘上进行. 我们用 \((x, y)\) 来表示第 \( ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(一)
T1 帽子戏法 问题描述 小 Y 有一个\(n*n*n\)的"帽子立方体" ,即一个\(n\)层的立方体,每层的帽子都 可以排成\(n*n\)的矩阵. "帽子立方体&qu ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(七)
T1 Adjoin [问题描述] 定义一种合法的\(0-1\)串:串中任何一个数字都与\(1\)相邻.例如长度为$ 3 的 0-1 $串中,\(101\)是非法的,因为两边的\(1\)没有相邻的\(1 ...
- CCF-NOIP-2018 提高组(复赛) 模拟试题(三)
T1 取球游戏 问题描述 现有\(N\)个小球,依次编号为\(1\)到\(N\),这些小球除了编号以外没有任何区别.从这\(N\)个小球中取出\(M\)个,请问有多少种取球方案使得在取出的\(M\)个 ...
随机推荐
- Alyona and copybooks
题目连接 题意: 给 n,a,b,c四个数,n为已有的书的数目,问再买k本书所需花费最少是多少,(k+n)%4==0: 有三种套餐 第一种只有一本书,花费a 第二种有两本书,花费b, 第三种有三本书, ...
- Unity启动事件-监听:InitializeOnLoad
[InitializeOnLoad] :在启动Unity的时候运行编辑器脚本 官方案例: using UnityEngine; using UnityEditor; [InitializeOnLoa ...
- 闹心的python编码
说起编码,真是十分忧伤.每次听课都是绕了半天把自己搞糊涂.今天特意来整理一下思路. What 编码!? 基本概念很简单.首先,我们从一段信息即消息说起,消息以人类可以理解.易懂的表示存在.我打算将这种 ...
- json字符串中key值下划线命名转换为驼峰命名
json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...
- TODO:字节序的一些理解
TODO:字节序的一些理解 本文是小编对字节序的片面理解,希望对你有帮助哈. 字节序,即字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前. 1.Little endian:将低 ...
- MyBatis 学习-与 Spring 集成篇
根据官方的说法,在 ibatis3,也就是 Mybatis3 问世之前,Spring3 的开发工作就已经完成了,所以 Spring3 中还是没有对 Mybatis3 的支持.因此由 Mybatis 社 ...
- asp.net <% = #区别
<% = %>是将网页中定义的变量的值赋给控件: 例如:<input name="T_ClientAdd" type="text" id=&q ...
- java 时间
package com.grace.test; import java.text.DateFormat; import java.text.ParseException; import java.te ...
- TOMcat9 免安装版的配置
在这里默认大家都安装了jdk并且配置了java的环境,网上教程很多. 在tomcat官网(http://tomcat.apache.org/download-90.cgi)上下载和自己系统匹配的安装包 ...
- SPA 单页面应用
SPA一般只一个web页面,通过ajax,router等技术实现局部刷新,不会随着用户操作而出现重新加载页面或者页面跳转的功能,所有的用户操作都在一个页面实现. 组件化:UI组件和非UI组件 传统的u ...