当前位置: 首页 > news >正文

week4-[循环结构]生日悖论-new

week4-[循环结构]生日悖论-new

题目背景

小明最近学习了生日悖论。生日悖论是说,在不少于23人的班级中,存在两个人在同一天生日的概率大于50%。小明感到这很有趣,于是他进一步考虑下面的问题。

题目描述

小红、小方和小明是好朋友,他们正好都在 2012 年 3 月出生。现在需要考虑他们三个人是否存在生日悖论的现象。

现在知道小红的生日日期为 aaabbb 之间一个数(包括 aaabbb),小方的生日日期为 cccddd 之间的一个数(包括 cccddd),小明的生日日期为 eeefff 之间的一个数(包括 eeefff)。

现在想知道,三个人中,有多少种情况满足至少有两个人在同一天生日呢?

输入格式

输入包括 333 行,每行包括 222 个整数,数字之间使用一个空格隔开。
第一行包含整数 a,ba,ba,b,表示小红的生日为 333aaa 日到 333bbb 日之间一个数;
第二行包含整数 c,dc,dc,d,表示小方的生日为 333ccc 日到 333ddd 日之间一个数;
第三行包含整数 e,fe,fe,f,表示小明的生日为 333eee 日到 333fff 日之间一个数。

输出格式

输出只有一行,该行只有1个整数,表示有多少种情况满足至少有两个人在同一天生日

样例 #1

样例输入 #1

3 4 
2 3 
4 5

样例输出 #1

4

样例 #2

样例输入 #2

1 5 
6 10 
11 15

样例输出 #2

0

样例 #3

样例输入 #3

1 28 
1 10 
11 20

样例输出 #3

200

样例 #4

样例输入 #4

3 5
3 9
1 10

样例输出 #4

66

提示

样例解释1

小红、小方和小明的生日日期全部可能性包括以下8种:

小红小方小明是否有两人生日相同
3 日2 日4 日
3 日2 日5 日
3 日3 日4 日
3 日3 日5 日
4 日2 日4 日
4 日2 日5 日
4 日3 日4 日
4 日3 日5 日

其中有 444 种情况满足至少有两个人在同一天生日

数据范围

对于所有数据,满足 a,b,c,d,e,fa,b,c,d,e,fa,b,c,d,e,f111313131 之间的一个整数,且满足 a≤ba\le babc≤dc\le dcde≤fe\le fef

这道题其实是一个枚举 + 计数的问题。因为日期范围最大是 31 天,三个人各自的生日区间最多长度 31,所以最多情况数为 313=2979131^3=29791313=29791,完全可以直接暴力枚举。


🔎 解题思路

  1. 输入三个人各自的生日范围:
    • 小红:a∼ba \sim ba∼b
    • 小方:c∼dc \sim dc∼d
    • 小明:e∼fe \sim fe∼f
  2. 枚举三重循环:
    • x 遍历 a∼ba \sim ba∼b(小红生日)
    • y 遍历 c∼dc \sim dc∼d(小方生日)
    • z 遍历 e∼fe \sim fe∼f(小明生日)
  3. 判断是否满足至少两个人生日相同
    • 条件为 (x == y) || (y == z) || (x == z)
    • 如果满足,就让计数器 cnt++
  4. 输出 cnt

📝 C++ 实现

#include <iostream>
using namespace std;int main() {int a, b, c, d, e, f;cin >> a >> b;cin >> c >> d;cin >> e >> f;int cnt = 0;for (int x = a; x <= b; x++) {for (int y = c; y <= d; y++) {for (int z = e; z <= f; z++) {if (x == y || y == z || x == z) {cnt++;}}}}cout << cnt << endl;return 0;
}
http://www.dtcms.com/a/346701.html

相关文章:

  • 【C语言16天强化训练】从基础入门到进阶:Day 8
  • 【基础-判断】Video组件可以支持本地视频路径和网络路径播放。播放网络视频时,需要申请权限ohos.permission.INTERNET
  • Clustering Enabled Wireless Channel Modeling Using Big Data Algorithms
  • 学习游戏制作记录(合并更多的技能与技能树)8.23
  • 祝贺,国产轻量级桌面GIS软件Snaplayers下载量突破上万
  • 【技术突破】动态目标误检率↓83.5%!陌讯多模态融合算法在智慧城管的实战优化
  • 算法训练营day60 图论⑩ Bellman_ford 队列优化算法、判断负权回路、单源有限最短路
  • Kubernetes笔记整合-1
  • 定时器互补PWM输出和死区
  • 【手撕JAVA多线程:2.线程安全】 2.1.JVM层面的线程安全保证
  • 硬件-时钟学习DAY5——石英晶体负载电容设计全解析
  • Adobe Acrobat 创建和分发交互式 PDF 表单
  • lanczso算法中的额外正交化代码解释
  • Java性能优化实战(六):缓存策略的3大核心优化方向
  • 新手向:异步编程入门asyncio最佳实践
  • PyTorch生成式人工智能——VQ-VAE详解与实现
  • chapter06_应用上下文与门面模式
  • pcie实现虚拟串口
  • k8s之 Pod 资源管理与 QoS
  • 深入理解 C++ SFINAE:从编译技巧到现代元编程的演进
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(八)按键事件
  • vscode 中自己使用的 launch.json 设置
  • SpringBoot中实现接口查询数据动态脱敏
  • 倍福下的EC-A10020-P2-24电机调试说明
  • NVIDIA Nsight Systems性能分析工具
  • ISO 22341 及ISO 22341-2:2025安全与韧性——防护安全——通过环境设计预防犯罪(CPTED)
  • 武大智能与集成导航小组!i2Nav-Robot:用于的室内外机器人导航与建图的大规模多传感器融合数据集
  • 【字母异位分组】
  • 火车头使用Post方法采集Ajax页面教程
  • 量子计算驱动的Python医疗诊断编程前沿展望(中)