news 2026/6/10 15:17:16

GESP认证C++编程真题解析 | P11250 [GESP202409 八级] 手套配对

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | P11250 [GESP202409 八级] 手套配对

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:P11250 [GESP202409 八级] 手套配对 - 洛谷

【题目描述】

小杨有n nn对不同的手套,每对手套由左右各一只组成。

小杨想知道从中取出m mm只手套,m mm只手套恰好包含k kk对手套的情况有多少种。

小杨认为两种取出的情况不同,当且仅当两种情况取出的手套中存在不同的手套(同一对手套的左右手也视为不同的手套)。

【输入】

本题单个测试点内有多组测试数据

第一行包含一个正整数t tt,代表测试用例组数。

接下来是t tt组测试用例。对于每组测试用例,一共一行。

第一行包含三个正整数n , m , k n,m,kn,m,k,代表手套数量,取出的手套数和目标对数。

【输出】

对于每组测试数据,输出一个整数,代表可能的情况数量对10 9 + 7 10^9+7109+7取模的结果。

【输入样例】

2 5 6 2 5 1 5

【输出样例】

120 0

【算法标签】

《洛谷 P11250 手套配对》 #组合数学# #排列组合# #GESP# #2024#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong// 将int定义为long long类型constintN=1005,mod=1e9+7;intt;// 测试用例数量intn,m,k,ans;// n: 总数, m: 选择数量, k: 特定对数, ans: 答案intc[N][N];// 组合数C(n, m)数组intd[N];// 2的幂次数组// 初始化组合数C(n, m) = C(n-1, m-1) + C(n-1, m)voidinit(){c[0][0]=1;// C(0,0) = 1for(inti=1;i<=1000;i++){for(intj=0;j<=i;j++){if(j==0)// C(i,0) = 1{c[i][j]=1;}else{// 组合数递推公式c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;}}}}// 初始化2的幂次数组voidinit2(){d[0]=1;// 2^0 = 1for(inti=1;i<=1000;i++){d[i]=d[i-1]*2%mod;// 2^i = 2^(i-1) * 2}}signedmain()// 由于定义了#define int long long,需要使用signed main{cin>>t;// 预处理组合数和2的幂init();init2();while(t--){cin>>n>>m>>k;// 条件检查:必须满足的基本限制// 1. m >= 2k: 至少需要2k个元素来形成k对// 2. m - 2k <= n - k: 剩余选择的元素不能超过可用的元素if(m<2*k||m-2*k>n-k){cout<<0<<endl;}else{// 计算答案公式:C(n,k) * C(n-k, m-2k) * 2^(m-2k)intans=((c[n][k]*c[n-k][m-2*k])%mod*d[m-2*k])%mod;cout<<ans<<endl;}}return0;}

【运行结果】

2 5 6 2 120 5 1 5 0
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:26:18

如何用TensorFlow构建用户画像系统?

如何用TensorFlow构建用户画像系统&#xff1f; 在电商平台的“双十一”大促中&#xff0c;你是否注意到——同样是浏览手机商品页面&#xff0c;有人看到的是旗舰新品推荐&#xff0c;而另一人却被推送了大量平价机型和配件&#xff1f;这种差异背后&#xff0c;并非随机分配&…

作者头像 李华
网站建设 2026/6/10 15:06:40

错过将遗憾半年:Open-AutoGLM移动端部署技术红利期正在倒计时

第一章&#xff1a;手机部署Open-AutoGLM的现状与战略意义随着边缘计算与终端智能的快速发展&#xff0c;将大型语言模型&#xff08;LLM&#xff09;部署至移动设备已成为AI落地的重要方向。Open-AutoGLM作为开源自动化生成语言模型&#xff0c;具备轻量化推理能力与模块化架构…

作者头像 李华
网站建设 2026/5/30 19:30:45

基于TensorFlow的无人机避障控制系统

基于TensorFlow的无人机避障控制系统 在城市楼宇间穿梭的物流无人机、在密林上空巡检电力线路的飞行器&#xff0c;正逐渐从科幻场景变为现实。然而&#xff0c;真正让这些“空中机器人”实现全天候自主飞行的关键&#xff0c;并不只是飞得更高或更远&#xff0c;而是能否在瞬息…

作者头像 李华
网站建设 2026/6/10 12:40:03

Open-AutoGLM + Windows 搭建全流程(从零配置到一键启动)

第一章&#xff1a;Open-AutoGLM Windows 搭建全流程概述在 Windows 系统上部署 Open-AutoGLM 框架&#xff0c;需完成环境准备、依赖安装与服务配置三大核心环节。整个流程兼顾本地推理性能与开发便捷性&#xff0c;适用于希望快速启动大模型实验的开发者。环境准备 操作系统…

作者头像 李华
网站建设 2026/6/10 12:39:47

Java小白面试实录:从Spring Boot到微服务的技术点解析

文章简述 在这篇文章中&#xff0c;我们将探索一位初入职场的Java程序员在面试中的经历。通过一个个技术问题&#xff0c;涵盖Spring Boot、微服务、安全框架等&#xff0c;我们详细讲解了每个问题的业务场景与技术要点&#xff0c;帮助初学者更好地理解和准备相关面试。 场景描…

作者头像 李华
网站建设 2026/6/9 19:22:29

【Open-AutoGLM下载提速全攻略】:揭秘5大卡顿根源与高效解决方案

第一章&#xff1a;Open-AutoGLM下载好慢在使用 Open-AutoGLM 项目时&#xff0c;许多开发者反馈遇到下载速度缓慢的问题&#xff0c;尤其是在国内网络环境下。该问题主要源于模型权重文件托管于境外服务器&#xff0c;且未启用加速机制。常见原因分析 原始镜像站点位于海外&am…

作者头像 李华