码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 蓝桥杯每日一题20233.10.10


    题目描述

    回文日期 - 蓝桥云课 (lanqiao.cn)

    题目分析 

    对于此题,我们最先想到的是暴力解法,将每一种情况经行循环查找,在查找的过程中记录下答案,回文日期就是字符串判断回文,ABABBABA型回文日期可以将回文经行特判从而确定

    1. #include
    2. using namespace std;
    3. int m[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    4. int nx, ans, f1, f2;
    5. string ans1, ans2;
    6. bool is_ren(int n)
    7. {
    8. if(n % 400 == 0 || (n % 100 != 0 && n & 4 == 0))return true;
    9. return false;
    10. }
    11. bool flag1(string s)
    12. {
    13. int n = s.size();
    14. for(int i = 0; i < n / 2; i ++)
    15. {
    16. if(s[i] != s[n - i - 1])return false;
    17. }
    18. ans1 = s;
    19. return true;
    20. }
    21. bool flag2(string s)
    22. {
    23. int n = s.size();
    24. for(int i = 0; i < n / 2; i ++)
    25. {
    26. if(s[i] != s[n - i - 1])return false;
    27. }
    28. if(s[0] == s[2] && s[2] == s[5] && s[5] == s[7] && s[1] == s[3] && s[3] == s[4] && s[4] == s[6] && s[0] != s[1])
    29. {
    30. ans2 = s;
    31. return true;
    32. }
    33. return false;
    34. }
    35. int main()
    36. {
    37. ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    38. cin >> nx;
    39. //算出输入的年月日
    40. int y = nx / 10000;
    41. int mo = nx / 100 % 100;
    42. int d = nx % 100;
    43. //从输入的年开始(2020是随意的数字)
    44. for(int i = y; i <= 10000; i ++)
    45. {
    46. if(is_ren(i))m[2] = 29;
    47. else m[2] = 28;
    48. for(int j = 1; j <= 12; j ++)
    49. {
    50. for(int k = 1; k <= m[j]; k ++)
    51. {
    52. if(i == y && j == 1 && k == 1)//如果是刚进入循环的时候,因为此时当天不算故看下一天是哪一天
    53. {
    54. if(d + 1 <= m[mo])//下一天不跨月
    55. {
    56. j = mo;
    57. k = d + 1;
    58. }
    59. else if(mo + 1 <= 12)//下一天跨月不跨年
    60. {
    61. j = mo + 1;
    62. k = 1;
    63. }
    64. else//下一天跨年
    65. {
    66. i = y ++;
    67. j = 1;
    68. k = 1;
    69. }
    70. }
    71. //将这一天转为字符串进行判断
    72. string s = "";
    73. s += to_string(i);
    74. if(j < 10)s += to_string(0);
    75. s += to_string(j);
    76. if(k < 10)s += to_string(0);
    77. s += to_string (k);
    78. if(ans1.size() != 8)flag1(s);
    79. if(ans2.size() != 8)flag2(s);
    80. if(ans1.size() == 8 && ans2.size() == 8)break;
    81. }
    82. if(ans1.size() == 8 && ans2.size() == 8)break;
    83. }
    84. if(ans1.size() == 8 && ans2.size() == 8)break;
    85. }
    86. cout << ans1 << '\n' << ans2;
    87. return 0;
    88. }
  • 相关阅读:
    Win11 Dev预览版25201.1000(rs_prerelease)发布:迎来全屏小组件
    HarmonyOS实现静态与动态数据可视化图表
    【web-渗透测试方法】(15.7)测试功能方面的输入漏洞
    基于SSM的家教系统的设计与实现毕业设计-附源码221752
    arcmap-arcgis-模型构建器
    miui14即将闪亮登场 小米首批机型搭配名单 旧版系列机型可能无望更新
    Spring boot 实践Rabbitmq消息防丢失
    【Python语言速回顾】——异常&文件操作
    vue3使用flv播放视频监控
    CTFSHOW七夕杯web
  • 原文地址:https://blog.csdn.net/m0_75087931/article/details/133745087
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号