
M - 我成了瘸腿鹅(栈应用)
发布日期:2021-05-04 14:45:10
浏览次数:26
分类:原创文章
本文共 1702 字,大约阅读时间需要 5 分钟。
Description
智 (hei) 慧 (bang) 长 (yi) 者 (ge) 阿福虽说是智勇双全,却无奈老是被该 (zheng) 死 (yi) 的成龙欺负。既然武斗不行,那么今天阿福决定靠他的智慧为自己找回些面子。所以他今天打算和成龙来比纸牌接龙游戏,输的人将会接受惩罚。游戏是这样的阿福先出牌,然后成龙出牌,出的牌按出牌顺序排成一列,如果当前出的牌在出牌序列中,那么那个人可以取走两张相同牌之间的所有牌并加上相应于牌数的分
。比如原牌的排列为 5 4 3 6 9 8 现在成龙出牌 9 那么他可以取走 9 8 9 得到 3 分,然后牌的序列就变成 5 4 3 6 了。
最后看他们两个人的得分谁比较高,分数低的人将会接受惩罚,由于阿福长的比较丑,所以得分相同的情况下算阿福输(长得丑怪我咯)。
智 (hei) 慧 (bang) 长 (yi) 者 (ge) 阿福相信自己智勇双全一定会赢的,所以他打算赌得大一点:”谁输了就把他打成瘸腿鹅!”。由于没有人见证了他们的比赛过程,只知道他们的总出牌序列,想在好奇得到 UMR 想知道最后谁成了瘸腿鹅,但是 UMR 智商令人着急所以只能聪明的你求助了,你能告诉他谁被打成瘸腿鹅了吗?如果你说对了 UMR 将会将给你一个大大的 AC 作为回报。
Input
第一行输入一个 n,代表总共出了 n 张牌 (2⩽n⩽100000)。
接下来 n 个数ai,代表他们出的牌 (1⩽ai⩽10)。
Output
如果阿福输了输出 ON!
。
否则输出 HaHa!
(不存在的)。
Sample
nput
91 2 5 8 7 1 8 7 8
Output
ON!
Hint
阿福先出牌。
注意:加的是牌数!!!
答案:
#include <iostream>#include<bits/stdc++.h>#define ll long longconst int N = 1e5 + 10;using namespace std;int dp[N];int q[N];int main(){ int n; cin>>n; int i; int cnt=0; int afu=0; int clong=0; for(i=1; i<=n; i++) { int k; cin>>k; if(!dp[k]) { q[++cnt]=k; dp[k]++; } else { if(i%2==0) { clong++; while(q[cnt]!=k) { dp[q[cnt--]]--; clong++; } clong++; } else { afu++; while(q[cnt]!=k) { dp[q[cnt--]]--; afu++; } afu++; } dp[k]=0; cnt--; } } if(afu<=clong) cout<<"ON!"<<endl; else cout<<"HaHa!"<<endl; return 0;}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月04日 18时08分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用async、await改善异步代码
2019-03-04
洛谷 1115 最大子段和、HDU 1003 Max Sum(最大字段和问题)
2019-03-04
BugkuCTF web_1-10
2019-03-04
零基础入门JavaScript 这一篇笔记就够了
2019-03-04
MySQL_属性、记录长度、设计范式、表关系
2019-03-04
MySQL_安全管理、表单传值、php操作
2019-03-04
POJ 2299 Ultra-QuickSort(树状数组+离散化+求逆序数)
2019-03-04
BUUCTF web WarmUp
2019-03-04
hcnp笔记
2019-03-04
python数据分析
2019-03-04
MySQL(四)数据库结构设计
2019-03-04
JavaScript 函数作用域
2019-03-04
2021-05-03
2019-03-04
Mybatis-plus 常用注解
2019-03-04
HTML基本结构
2019-03-04
图(三):拓扑排序、关键路径
2019-03-04
mybatis 如何切割字符串 查询多个值
2019-03-04
算法初步 (排序, 散列, 贪心, 二分, two pointers)
2019-03-04