洛谷 P5595 【XR-4】歌唱比赛
洛谷 P5595 【XR-4】歌唱比赛
题目描述
小 X 参加了一场歌唱比赛。
经过一路鏖战,小 X 终于挺进了决赛,他的对手是小 Y。
这场歌唱比赛的冠军是由点赞数决定的,谁的点赞数高,谁就能夺冠。
小 X 和小 Y 依次演唱完自己的最后一首歌曲后,他们最终的点赞数确定了下来。
揭晓冠军的时刻终于到来了,主持人为了增加悬念,决定从小 X 与小 Y 的点赞数的最后一位开始,依次比较。
比如,小 X 的点赞数是 3737,小 Y 的点赞数是 2828。首先比较最后一位,小 X 是 77,小 Y 是 88,此时小 Y 暂时领先。再加上前一位,小 X 是 3737,小 Y 是 2828,此时小 X 暂时领先。比较结束,如果我们用 X 代表小 X 暂时领先,Y 代表小 Y 暂时领先,那么可以写下一个字符串 XY。
再比如,小 X 的点赞数是 137137,小 Y 的点赞数是 4747。如果我们再用 Z 表示小 X 与小 Y 的点赞数暂时一样,那么写下的字符串应该为 XYZ。
你作为一个精通 OI 的神仙,自然知道这种比较方式是非常不科学的,这样只是在无端拖延时间罢了,但是你却对最后写下的这个字符串很感兴趣。
现在,你得到了这个最后写下的字符串,你需要构造出一种可能的小 X 与小 Y 的点赞数。
当然,有可能不存在任何一种情况的点赞数满足这个字符串,那么你只需要输出 -1 即可。
为了方便你输出,请用前导零来补足位数。
输入格式
一行一个字符串 ss,表示最后写下的字符串。
输出格式
如果有解:
- 第一行一个整数,表示小 X 的点赞数。
- 第二行一个整数,表示小 Y 的点赞数。
如果无解:
- 一行一个整数
-1。
输入输出样例
输入 #1复制
输出 #1复制
输入 #2复制
输出 #2复制
输入 #3复制
输出 #3复制
输入 #4复制
输出 #4复制
说明/提示
本题采用捆绑测试。
- Subtask 1(11 points):\text{len}(s) = 1len(s)=1。
- Subtask 2(42 points):s_i \in {\texttt{X},\texttt{Y}}s**i∈{X,Y}。
- Subtask 3(21 points):数据保证有解。
- Subtask 4(26 points):无特殊限制。
对于 100%100% 的数据,s_i \in {\texttt{X},\texttt{Y},\texttt{Z}}s**i∈{X,Y,Z},1 \le \text{len}(s) \le 10^61≤len(s)≤106。
题解:
一道橙题难了蒟蒻40多分钟
果然还是蒟蒻太菜了
一开始看觉得根本做不了,后来发现是SPJ。
那就好办了,我们随便构造出一个合法的序列就可以。
根据贪心的一个思想,为了维护序列的正确性,谁更大就往谁里捅9,谁更小往谁里捅0.
下面就是判断合法与否。
手推几组数据可以发现,如果Z不是连成串的,那么一定不合法:
比如:ZXYXYX这一段序列。到Z后面的那位的时候还是X比较大,突然就到了Z,两个人相等了??!
这是无论如何也构造不出来的。
所以判断一下就可以了。
蒟蒻又判了一下len=1的情况
代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<ctime>
using namespace std;
const int maxl=1e6+1;
char s[maxl];
int ans1[maxl],ans2[maxl];
int main()
{
scanf("%s",s+1);
int len=strlen(s+1);
if(len==1)
{
if(s[1]=='Z')
printf("0\n0");
else if(s[1]=='X')
printf("2\n1");
else
printf("1\n2");
return 0;
}
for(int i=1;i<len;i++)
if(s[i]=='Z'&&s[i+1]!='Z')
{
printf("-1");
return 0;
}
for(int i=len;i>=1;i--)
{
if(s[i]=='X')
{
ans1[i]=9;
ans2[i]=0;
}
else if(s[i]=='Y')
{
ans1[i]=0;
ans2[i]=9;
}
else
{
ans1[i]=0;
ans2[i]=0;
}
}
for(int i=1;i<=len;i++)
printf("%d",ans1[i]);
puts("");
for(int i=1;i<=len;i++)
printf("%d",ans2[i]);
return 0;
}
洛谷 P5595 【XR-4】歌唱比赛的更多相关文章
- 洛谷P2460 [SDOI2007]科比的比赛(题解)(贪心+搜索)
科比的比赛(题解)(贪心+搜索) 标签:算法--贪心 阅读体验:https://zybuluo.com/Junlier/note/1301158 贪心+搜索 洛谷题目:P2460 [SDOI2007] ...
- 洛谷P2777 [AHOI2016初中组]自行车比赛
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 洛谷U14667 肝活动【比赛】 【状压dp】
题目描述 Yume 最近在玩一个名为<LoveLive! School idol festival>的音乐游戏.他之所以喜欢上这个游戏,是因为这个游戏对非洲人十分友好,即便你脸黑到抽不出好 ...
- 洛谷 P2777 [AHOI2016初中组]自行车比赛
题目描述 小雪非常关注自行车比赛,尤其是环滨湖自行车赛.一年一度的环滨湖自行车赛,需要选手们连续比赛数日,最终按照累计得分决出冠军.今年一共有 N 位参赛选手.每一天的比赛总会决出当日的排名,第一名的 ...
- 洛谷 U14475 部落冲突 【比赛】 【树链剖分 + 线段树】
题目背景 在一个叫做Travian的世界里,生活着各个大大小小的部落.其中最为强大的是罗马.高卢和日耳曼.他们之间为了争夺资源和土地,进行了无数次的战斗.期间诞生了众多家喻户晓的英雄人物,也留下了许多 ...
- 【洛谷 P1707】 刷题比赛 (矩阵加速)
题目连接 很久没写矩阵加速了,复习一下,没想到是一道小毒瘤题. 状态矩阵\(a[k],b[k],c[k],a[k+1],b[k+1],c[k+1],k,k^2,w^k,z^k,1\) 转移矩阵 0, ...
- 洛谷 2777 [AHOI2016初中组]自行车比赛
[题解] 为了让某个选手能够获得总分第一,就让他最后一天的得分是n,并且让别的选手的得分的最大值尽量小.于是我们先把目前积分排序,并且让他们最后一天的排名刚好与积分排名相反.即某个积分排名为X的人最后 ...
- 洛谷⑨月月赛Round2 官方比赛 OI
自评: (完成时间3.5时) 第一题 模拟 虽然A了,代码敲得有点慢 第二题 最短路 第一次敲对了,又考虑数据范围和答案范围,改错了,100分改成42分.QAQ. 第三题 乱搞 80分 还可以(因为没 ...
- [洛谷P1707] 刷题比赛
洛谷题目连接:刷题比赛 题目背景 nodgd是一个喜欢写程序的同学,前不久洛谷OJ横空出世,nodgd同学当然第一时间来到洛谷OJ刷题.于是发生了一系列有趣的事情,他就打算用这些事情来出题恶心大家-- ...
随机推荐
- WPF 快捷键
原文:WPF 快捷键 <p><pre name="code" class="csharp"> 前台 <Window.Resourc ...
- FCN用卷积层代替FC层原因(转)
原博客连接 : https://www.cnblogs.com/byteHuang/p/6959714.html CNN对于常见的分类任务,基本是一个鲁棒且有效的方法.例如,做物体分类的话,入门级别的 ...
- ASP.NET 数据绑定
控件绑定数据源控件手动方式: DataSourceID = 数据源控件名称下拉框绑定 A.设置Datasource B.DataTextField="name"' //显示的值 C ...
- 英语阅读——A meaningful life
这篇文章是<新视野大学英语>第四册的第八单元的文章. 1 The death of an angel of animal rights activism(活动家) does not rat ...
- 分析一个简单的WPF程序
1.新建WPF项目 使用Visual Studio 代码编辑器点击新建项目,选择 WPF应用后点击下一步: 在新窗口中我们填写项目名称.选择项目位置后点击创建就完成了WPF项目的创建. 2.WPF项目 ...
- CLRCore(CLR核心机制)
JIT--第一次--标记已--存根--调用--查找存根--执行机器码 C#和CIL的关系: C#和N#都是CIL实现,但是彼此不能互通: C#和N#公开不分满足规范,我们才能互通 CLS就是描述多语言 ...
- zTree插件的应用
需要用到的js和css文件 <link rel="stylesheet" href="__PUBLIC__/zTree/css/demo.css" typ ...
- java基础第十四篇之Map
一,Map集合的特点: * * 1.Map集合和Collection集合,没有关系 * * 2.Map集合的元素是成对存在(夫妻关系) * Collection集合的元素是独立存在 ...
- Android开发总体布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- CODING 受邀参加《腾讯全球数字生态大会》
近日,腾讯全年最重要的一场活动--<腾讯全球数字生态大会>于昆明滇池国际会展中心正式举办.此次全球数字生态大会是腾讯战略升级后,整合互联网+数字经济峰会.云+未来峰会.腾讯全球合作伙伴三大 ...