codeforces A. Cinema Line 解题报告
题目链接:http://codeforces.com/problemset/problem/349/A
题目意思:题目不难理解,从一开始什么钱都没有的情况下,要向每一个人售票,每张票价格是25卢布,这些人只可能拥有100,50,25的其中一张卢布。问:售票员是否能在可以找赎的情况下,向每一个人都售到票。
此题被贴上贪心的标签,但我觉得更像模拟题。用了比较笨的方法来解决,但是毕竟是自己编的,还是比较有感觉。要特别注意,收了别人的钱,相应的面额数量要作相应的改动。例如第一个样例的25 25 50 50,当处理到第三个人的50时,25卢比这个面值只剩下1了,原因是要找给第三个人25卢比,而本来没有50卢布面额的也从数量0变为1。网上有很多比较简单的方法,以下链接是个人觉得比较巧妙的: http://codeforces.com/problemset/status/349/problem/A/page/1?order=BY_PROGRAM_LENGTH_ASC
看这个人 CXXXX
- #include <iostream>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- using namespace std;
- const int maxn = 1e5 + ;
- int a[maxn], cnt[];
- int main()
- {
- int i, n, sum, flag, flag1;
- while (scanf("%d", &n) != EOF)
- {
- for (i = ; i < n; i++)
- {
- scanf("%d", &a[i]);
- }
- memset(cnt, , sizeof(cnt));
- flag = flag1 = sum = ;
- for (i = ; i < n; i++)
- {
- if (a[] != ) // 第一张一定要是收到25,否则根本无法找零钱
- {
- flag = ;
- break;
- }
- else
- {
- sum += a[i]; // 从一开始到当前所拥有的钱的总数
- // printf("sum = %d\n", sum);
- if (a[i] == )
- {
- cnt[]++; // 代表50面额的数量增加
- if (cnt[] > ) // 要找25卢布,相应的25卢布这个面额的数量减少
- {
- cnt[]--;
- sum -= ; // 当然总的钱数也需要减少
- // printf("50 cnt[25] = %d, cnt[50] = %d\n", cnt[25], cnt[50]);
- }
- else
- flag1 = ; // 无力找钱给人
- }
- else if (a[i] == )
- {
- cnt[]++;
- if (cnt[] > && cnt[] > )
- {
- cnt[]--; // 找1张50和一张25
- cnt[]--;
- sum -= ;
- // printf("100: cnt[25] = %d, cnt[50] = %d, cnt[100] = %d\n", cnt[25], cnt[50], cnt[100]);
- }
- else if (cnt[] > )
- {
- cnt[] -= ; // 找3张25给人
- sum -= ;
- // printf("100: cnt[25] = %d\n", cnt[25]);
- }
- else
- flag1 = ;
- }
- else if (a[i] == )
- {
- cnt[]++;
- // printf("25: cnt[25] = %d\n", cnt[25]);
- }
- // printf("final sum = %d\n\n", sum);
- }
- }
- if (flag)
- printf("NO\n");
- else if (flag1)
- printf("NO\n");
- else
- printf("YES\n");
- }
- return ;
- }
codeforces A. Cinema Line 解题报告的更多相关文章
- codeforces B. Shower Line 解题报告
题目链接:http://codeforces.com/contest/431/problem/B 题目意思:给出5 * 5 的矩阵.从这个矩阵中选出合理的安排次序,使得happiness之和最大.当第 ...
- Codeforces Round 665 赛后解题报告(暂A-D)
Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...
- Codeforces Round 662 赛后解题报告(A-E2)
Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...
- Codeforces Round #277.5 解题报告
又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...
- codeforces A. Dima and Continuous Line 解题报告
题目链接:http://codeforces.com/problemset/problem/358/A 题目意思:在横坐标上给出n个不同的点,需要把前一个点跟后一个点(这两个点的顺序是紧挨着的)用一个 ...
- codeforces B. Simple Molecules 解题报告
题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...
- 【LeetCode】149. Max Points on a Line 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典+最大公约数 日期 题目地址:https://l ...
- codeforces 591A. Wizards' Duel 解题报告
题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...
- codeforces 582A. GCD Table 解题报告
题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...
随机推荐
- 第六节 JBPM版本控制以及Token对象
1.JBPM版本 2.Token 3.流程上下文
- 手动搭建SpringMVC报错
猜测这个是由于自己在搭建时缺少包造成的,后来将按照自己之前的项目将包补齐,tomcat就不报错了,看来还是要学习maven 这样就不会缺少包了
- MVC模式介绍
MVC是一种通过3个不同部分构造一个软件或组件的理想办法: 1.模型(Model):用于存储数据的对象. 2.视图(View):为模型提供数据显示的对象. 控制器(Controller):负责具体的业 ...
- 快速反射DataTable
public class SetterWrapper<TTarget, TValue> { private Action<TTarget, TValue> _setter; p ...
- HTTP负载测试——Tsung
参考资料:http://blog.jobbole.com/87509/ 如何生成每秒百万级别的 HTTP 请求? 在进行负责测试时要牢记一件重要的事:你能在 Linux 上建立多少个 socket 连 ...
- php中文字符串翻转
转自:http://www.oschina.net/code/snippet_613962_17070 <?php header("content-type:text/html;cha ...
- ASP.NET MVC4 log4net
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- [转]Linux进程间通信——使用信号
转载于:http://blog.csdn.net/ljianhui/article/details/10128731 经典!!! Linux进程间通信——使用信号 一.什么是信号 用过 ...
- form表单那点事儿(上) 基础篇
form表单那点事儿(上) 基础篇 做为html中最为常见,应用最广泛的标签之一,form常伴随前端左右.了解更深,用的更顺. 目录: 表单属性 表单元素 常识 模拟外观 表单属性 这个表单展示了fo ...
- MapReduce中TextInputFormat分片和读取分片数据源码级分析
InputFormat主要用于描述输入数据的格式(我们只分析新API,即org.apache.hadoop.mapreduce.lib.input.InputFormat),提供以下两个功能: (1) ...