蓝桥杯备赛1-2合法日期

题目描述

小蓝正在上小学,老师要求同学们在暑假每天记日记。可是小蓝整个暑假都在玩,直到最后一天才想起要记日记。于是小蓝赶紧编了一些日记交给老师。

没想到,日记很快就被老师发现了问题,原来小蓝记完 8 月 31 日的日记,竟又记了 8 月 32 日和 8 月 33 日的日记。这显然是有问题的,因为根本没有 8 月 32 日和 8 月 33 日。

给定一个月份和一个日期,请问 2021 年有没有这一天。

输入描述

输入的第一行包含一个整数 mm,表示月份。

第二行包含一个整数 dd,表示日期。

其中,1≤m≤20,1≤d≤401≤m≤20,1≤d≤40。

输出描述

如果2021年有 mm 月 dd 日,输入 yes,否则输出 no

输入输出样例

示例 1

输入

复制代码
8
32

输出

复制代码
no
示例 2

输入

复制代码
2
28

输出

复制代码
yes

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

题解1

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int m,n;
  cin>>m>>n;
  if(m==2)
  {
    if(n<=28){
      cout<<"yes";
    }else{
      cout<<"no";
    }
  }
  else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
  //在 C++ 中,表达式 m==1||3||5||7||8||10||12 并不是按你预期的方式工作的。这个表达式实际上会被解释为 (m==1) || (3) || (5) || (7) || (8) || (10) || (12),其中非零整数(如 3、5、7 等)在布尔上下文中被视为 true。因此,只要 m 不等于 1,这个条件就会被视为 true,这不是你想要的行为。
  {
    if(n<=31){
      cout<<"yes";
    }else{
      cout<<"no";
    }
  }
  else if(m==3||m==4||m==6||m==9||m==11)
  {
    if(n<=30){
      cout<<"yes";
    }else{
      cout<<"no";
    }
  }else//忽略了m的范围
  {
    cout<<"no";
  }
  return 0;
}

题解2

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
  int month[31]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  int m,d;
  cin>>m>>d;
  if(month[m]<d)
  cout<<"no";
  else cout<<"yes";
  return 0;
}
相关推荐
tankeven5 分钟前
动态规划专题(10):最优三角剖分问题
c++·算法·动态规划
黑眼圈子9 分钟前
动态规划问题专项练习(未编辑完成...
学习·算法·动态规划
探物 AI11 分钟前
【感知·车道线检测】UFLDv2车道线检测与车道偏离预警(LDWS)实战
人工智能·算法·目标检测·计算机视觉
菜鸟丁小真15 分钟前
LeetCode hot100 -54.螺旋矩阵
算法·leetcode·矩阵·知识点总结
weixin_4684668523 分钟前
排列组合算法之隔板问题与错排公式
c++·算法·数学建模·排列组合·竞赛·错排·隔板
wsoz34 分钟前
Leetcode链表-day9
c++·算法·leetcode·链表
Lumos_7771 小时前
Linux -- 系统调用
linux·运维·算法
一个行走的民1 小时前
深度剖析 Ceph PG 分裂机制:原理、底层、实操、影响、线上避坑(最全完整版)
ceph·算法
WolfGang0073211 小时前
代码随想录算法训练营 Day46 | 图论 part04
算法·图论
拾-光1 小时前
LTX-Video 2.3 实战:用图片生成视频,消费级显卡也能跑的开源 I2V 模型(GPT Image 2)
java·人工智能·python·深度学习·算法·机器学习·音视频