蓝桥杯省赛真题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次

方法二:(代码)

三、代码

四、反思

相关推荐
逐闲13 分钟前
LeetCode热题100【第一天】
算法·leetcode
爱吃涮毛肚的肥肥(暂时吃不了版)14 分钟前
剑指offer——模拟:顺时针打印矩阵
算法·leetcode·矩阵
chao_78915 分钟前
动态规划题解——乘积最大子数组【LeetCode】
python·算法·leetcode·动态规划
今天背单词了吗9801 小时前
算法学习笔记:16.哈希算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法
CodeWithMe1 小时前
【读书笔记】《C++ Software Design》第三章 The Purpose of Design Patterns
c++·设计模式
前端拿破轮2 小时前
字符串消消乐你会吗?😋😋😋
算法·leetcode·面试
EndingCoder2 小时前
图算法在前端的复杂交互
前端·算法·图算法
kanhaoning2 小时前
将重排序大模型Qwen3-Reranker-8B的知识蒸馏到小模型BGE-reranker-v2-m3上
算法
Thymme2 小时前
C++获取时间和格式化时间
c++
CoovallyAIHub2 小时前
2025年小目标检测分享:从无人机视角到微观缺陷的创新模型
深度学习·算法·计算机视觉