【CodeM编程】优惠券
[编程题] 优惠券
时间限制:1秒
空间限制:32768K
美团点评上有很多餐馆优惠券,用户可以在美团点评App上购买。每张优惠券有一个唯一的正整数编号。当用户在相应餐馆就餐时,可以在餐馆使用优惠券进行消费。优惠券的购买和使用按照时间顺序逐行记录在日志文件中,运营人员会定期抽查日志文件看业务是否正确。业务正确的定义为:一个优惠券必须先被购买,然后才能被使用。
某次抽查时,发现有硬盘故障,历史日志中有部分行损坏,这些行的存在是已知的,但是行的内容读不出来。假设损坏的行可以是任意的优惠券的购买或者使用。
现在问这次抽查中业务是否正确。若有错,输出最早出现错误的那一行,即求出最大s,使得记录1到s-1满足要求;若没有错误,输出-1。
输入描述:
m 分别表示 m (1 ≤ m ≤ 5 * 10^5) 条记录。下面有m行,格式为:I x (I为Input的缩写,表示购买优惠券x);O x(O为Output的缩写,表示使用优惠券x);? (表示这条记录不知道)。这里x为正整数,且x ≤ 10^5 。
输出描述:
-1 或 x(1 ≤ x ≤ m) 其中x为使得1到x-1这些记录合法的最大行号。
输入例子:
0
1
O 1
2
?
O 1
3
I 1
?
O 1
2
I 2
O 1
输出例子:
-1
1
-1
-1
2
有点坑,要考虑很多细节东西。
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class T3优惠券 {private static final Set Set = null;/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);while(sc.hasNext()){int m=sc.nextInt();int x=-1;int[] input=new int[m];int unknown=0;boolean f=false;for (int i = 0; i < m; i++) {char c=sc.next().charAt(0);if(c=='I'){int k=sc.nextInt();boolean falg=true;for (int j = 0; j < input.length && f==false; j++) {if(k==input[j]){falg=false;input[i]=-1;break;}else if(input[j]==0)break;}if(falg)input[i]=k; }else if(c=='O'){int k=sc.nextInt();input[i]=-1;boolean falg=true;for (int j = 0; j < input.length && f==false; j++) {if(k==input[j]){input[j]=-1;falg=false;break;}else if(input[j] == 0){break;}}if(falg && f==false){if(unknown>0){unknown--;}else{x=i+1;f=true;}}}else if(c=='?'){input[i]=-1;unknown++;}}System.out.println(x);}}
}
【CodeM编程】优惠券相关推荐
- 美团点评CodeM编程大赛-题二
美团点评CodeM编程大赛-题二 题目描述 组委会正在为美团点评CodeM大赛的决赛设计新赛制. 比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛.复赛的成绩,会有不同的积分.比 ...
- 看看谁获得了CodeM编程大赛的10万奖金
7月27日,美团点评举办的CodeM编程大赛落幕.经过此前的激烈角逐,来自北京大学的吉如一同学夺得本次大赛冠军,获得单人现金税后10万元大奖. 美团点评高级副总裁穆荣均在CodeM颁奖现场表示,美团点 ...
- 美团codeM资格赛 优惠券
优惠券 时间限制:1秒 空间限制:32768K 美团点评上有很多餐馆优惠券,用户可以在美团点评App上购买.每张优惠券有一个唯一的正整数编号.当用户在相应餐馆就餐时,可以在餐馆使用优惠券进行消费.优惠 ...
- 2018美团CodeM编程大赛 Round A Problem 2 下棋 【贪心】
应该一眼看出来是贪心题,然后想最优解是什么.正确的贪心策略是[原棋盘上每个位置的棋子]都往最近的左边[目标棋盘上棋子]移动,如果左边没有棋子了那就闲置最后处理,如果目标棋盘在该位置上也有棋子,那就算距 ...
- 牛客网-2018 美团 CodeM 编程大赛-初赛 A 轮
ACM模版 这场比赛没有晋级,以为没有好好打--我又在找借口.下午去办入职体检,比赛开始时还在回来路上,回到宿舍的时候就剩下半个小时了,签了一下到就没时间了.赛后发现第三题很有意思,就补了补-- 1- ...
- 2018美团CodeM编程大赛资格赛第一题
一.问题描述 题目描述 美团在吃喝玩乐等很多方面都给大家提供了便利.最近又增加了一项新业务:小象生鲜.这是新零售超市,你既可以在线下超市门店选购生鲜食品,也可以在手机App上下单,最快30分钟就配送到 ...
- 美团2017年CodeM资格赛题解
最近想要参加今年的CodeM竞赛,所以把去年的题做了一遍,顺便写个题解,做个记录. 资格赛有A-F,共6道题,资格赛不限时,而且只要完成一道题就可以了. A.数码 题意:给定两个整数 l 和 r ,对 ...
- 携程测试编程题:客户下单的时候系统会发放一个优惠券码,用户在前端界面看到的展现形式如下
今天大四第一节课,下午去上了软件测试的课程,中午乘机在微信读书多看了看关于软件测试的书.下午上课,一边在牛客刷题,一边听讲,状态蛮好的.一个戴眼镜的女老师,讲的还有点意思. 今天新买的古琴也到了,下午 ...
- 一周竞赛资讯|CodeM 2018美团点评编程大赛启动
(本内容转载自公众号"科技与Python") 如今,小程序小游戏已经成为继手游之后,中小游戏企业公认的下一个风口.CodeM是由美团点评主办的编程竞赛,旨在展示和激发软件技术人才 ...
最新文章
- 像“毒液”一样的粘液机器人火了,能取出体内异物,穿过1.5mm细缝无压力 | 哈工大港中大...
- Magical Sticks 棍子拼接
- 解题报告——例题5-5 集合栈计算机 UVa12096
- n的阶乘程序python_Python程序对N阶乘的尾随零进行计数
- SpringBoot热部署(实战)详解
- 不常用,但热门的IOS第三方库(转)
- Android应用开发之统计App时长
- WinCE设备仿真器+虚拟串口+GPS模拟器搭建开发测试环境
- 暗影精灵4 i5-8300H 核显驱动完美触控板声音亮度调节电池电量显示黑苹果EFI引导
- vs2008安装失败解决办法
- Macbook mac 系统安装 Anaconda的方法
- 李白藏头诗鸿蒙,【表白的诗句藏头诗】表白的诗句60句
- 解决es集群Yellow与Red的问题
- css3绘制的钢琴代码
- ThinkPHP5.1.x 框架源码分析之框架的灵魂
- 黑洞同样释放能量--霍金修正黑洞理论
- java不同时区时间转换,Java在不同时区转换时间
- Xcode 工程清理瘦身
- 37 篇! Facebook 今年被 CVPR 收录的论文都说了啥?
- 一个完整的量化模型包括哪些