小 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<
- }
- }
我愿称今天为小丁裂开日,心态大崩。
唉,不是所以努力都有回报的,但不努力一定会寄。
还是题练的太少了,我不做人了,直接变成刷题狂。
-
相关阅读:
操作系统学习笔记
布客深度学习译文集 2024.2 更新
npm源管理工具nrm
用QT实现一个简单的桌面宠物
Java中synchronized:特性、使用、锁机制与策略简析
Java中使用MyBatis框架连接和操作MySQL数据库
【Spring Cloud】Spring Cloud Oauth2 + Gateway 微服务权限管理方案
带你全方位了解光谱共焦位移传感器
《游戏编程模式》学习笔记(十二)类型对象 Type Object
搜索与图论:染色法判定二分图
-
原文地址:https://blog.csdn.net/weixin_73922932/article/details/128179319