小 A 的票数是 9696,小 B 的票数是 5959。首先比较最后一位,小 A 是 66,小 B 是 99,此时小 B 暂时领先。再加上前一位,小 A 是 9696,小 B 是 5959,此时小 A 暂时领先。比较结束,如果我们用 X 代表小 A 暂时领先,Y 代表小 B 暂时领先,那么可以写下一个字符串 XY。
再比如,小 A 的票数是 927927,小 B 的票数是 4747。如果我们再用 Z 表示小 A 与小 B 的票数暂时一样,那么写下的字符串应该为 XYZ。
现在,你得到了这个最后写下的字符串,你需要构造出一种可能的小 A 与小 B 的票数。
当然,有可能不存在任何一种情况的票数满足这个字符串,那么你只需要输出 -1 即可。
为了方便你输出,请用前导零来补足位数。
一行一个字符串 ss,表示最后写下的字符串。
如果有解:
如果无解:
-1。(答案可能会有多组解,如果存在的话,输出任意一个即可)
- #include
- #include
-
- using namespace std;
-
- int main()
- {
- int flag=0;
- string s;
- char s1[1000100],s2[1000100];
- cin>>s;
- for(int i=0;i
size();i++) - {
- if(s[i-1]=='Z'&&s[i]!='Z')
- {
- flag=1;
- break;
- }
- if(s[i]=='X')
- {
- s1[i]='2';
- s2[i]='1';
- }
- if(s[i]=='Y')
- {
- s1[i]='1';
- s2[i]='2';
- }
- if(s[i]=='Z')
- {
- s1[i]='1';
- s2[i]='1';
- }
- }
- if(flag==1)
- {
- cout<<-1;
- }
- else
- {
- for(int i=0;i
size();i++) - cout<
- cout<
- for(int i=0;i
size();i++) - cout<
- }
- }
我愿称今天为小丁裂开日,心态大崩。
唉,不是所以努力都有回报的,但不努力一定会寄。
还是题练的太少了,我不做人了,直接变成刷题狂。
-
相关阅读:
前端学习案例-路由懒加载的工作原理
zabbix
算法笔记:堆
ADO.NET实体数据模型-DatabaseFirst
沉睡者 - 分享IT网赚创业者几点经验
测试/开发程序员面试建议,把握机会轻松拿offer......
Python时间序列分析库介绍:statsmodels、tslearn、tssearch、tsfresh
applicationContext.xml
达摩院SPACE对话大模型:预训练语言模型,预训练对话模型,知识注入
.NET 8 Video教程介绍(开篇)
-
原文地址:https://blog.csdn.net/weixin_73922932/article/details/128179319