• 第七十一天 来道水题得了


            小 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,表示最后写下的字符串。

    输出格式

    如果有解:

    • 第一行一个整数,表示小 A 的点赞数。
    • 第二行一个整数,表示小 B 的点赞数。

    如果无解:

    • 一行一个整数 -1

    (答案可能会有多组解,如果存在的话,输出任意一个即可)

     

    1. #include
    2. #include
    3. using namespace std;
    4. int main()
    5. {
    6. int flag=0;
    7. string s;
    8. char s1[1000100],s2[1000100];
    9. cin>>s;
    10. for(int i=0;isize();i++)
    11. {
    12. if(s[i-1]=='Z'&&s[i]!='Z')
    13. {
    14. flag=1;
    15. break;
    16. }
    17. if(s[i]=='X')
    18. {
    19. s1[i]='2';
    20. s2[i]='1';
    21. }
    22. if(s[i]=='Y')
    23. {
    24. s1[i]='1';
    25. s2[i]='2';
    26. }
    27. if(s[i]=='Z')
    28. {
    29. s1[i]='1';
    30. s2[i]='1';
    31. }
    32. }
    33. if(flag==1)
    34. {
    35. cout<<-1;
    36. }
    37. else
    38. {
    39. for(int i=0;isize();i++)
    40. cout<
    41. cout<
    42. for(int i=0;isize();i++)
    43. cout<
    44. }
    45. }

    我愿称今天为小丁裂开日,心态大崩。

    唉,不是所以努力都有回报的,但不努力一定会寄。

    还是题练的太少了,我不做人了,直接变成刷题狂。

  • 相关阅读:
    前端学习案例-路由懒加载的工作原理
    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