蓝桥杯省赛真题C++B组2024-握手问题

一、题目

【问题描述】

小蓝组织了一场算法交流会议,总共有50人参加了本次会议。在会议上,大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进,行一次握手(且仅有一次)。但有7个人,这7人彼此之间没有进行握手(但,这7人与除这7人以外的所有人进行了握手)。请问这些人之间一共进行了多,少次握手?

注意 A 和 B 握手的同时也意味着 B 和 A 握手了,所以算作是一次握手。

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

二、思路

方法一:

对于这种题,我一般是来找规律,我们从最简单的开始,有2个人的话,我们需要握手1次,3个人我们需要握手3次,四个人需要握手6次,5个人需要握手10次,6个人需要15次

|----|--------------|
| 人数 | 握手次数 |
| 2 | 1 |
| 3 | 3=2+1 |
| 4 | 6=3+2+1 |
| 5 | 10=4+3+2+1 |
| 6 | 15=5+4+3+2+1 |

我们不难找到一些规律,握手次数是 人数-1 开始向下逐个相加到1,3个人就是3-1向下开始相加(2+1)

但是题中说7个人是不相互握手的,我们假设3个人不握手,看上面的表,3个人将不握手3次(2+1),7个人将不握手6+5+4+3+2+1=21次

50个人握手49+48+47+...+2+1=1225次

又7个人不握手,1225-7=1204次

方法二:(代码)

三、代码

四、反思

相关推荐
Demon--hx1 小时前
jsoncpp 核心概念梳理:命名空间、Value 容器与格式化输出
c++
徐小夕9 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”
前端·算法·github
Robert--cao9 小时前
移动底盘与机械臂联合规划:开源算法与工程实现
算法
小豆庄10 小时前
Mac 上给视频人脸打码:本地工具的依赖、追踪与推理管线
算法·视觉检测·视频·敏捷流程·纹理贴图
星夜离尘5610 小时前
MATLAB 工程实验:从相邻块均值手写重叠 Allan 偏差,数清有效项
算法·matlab·均值算法
y1su12 小时前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划
residual_fan13 小时前
船用柴油机动态机动工况故障诊断:控制感知仿射网络(CAAN)的技术实现
人工智能·算法·数据挖掘·数据分析
syagain_zsx13 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼13 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
蓝悦无人机13 小时前
《Planning algorithms》读书笔记——第8章 反馈运动规划
算法·读书笔记·反馈运动规划