news 2026/5/23 20:36:02

打卡信奥刷题(2630)用C++实现信奥题 P2638 安全系统

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2630)用C++实现信奥题 P2638 安全系统

P2638 安全系统

题目描述

特斯拉公司的六位密码被轻松破解后,引发了人们对电动车的安全性能的怀疑。李华听闻后,自己设计了一套密码:

  • 假设安全系统中有nnn个储存区,每个储存区最多能存储存222种种类不同的信号(可以不储存任何信号)。有000111这两种信号,其中000aaa个,111bbb个,单独一个000111算一个信号。现要将这些信号储存在储存区中,000111可以不用全部储存,一个储存区可以存放任意多个000和任意多个111。一种不同的储存方案经过李华处理后就将是一串不同的密码。

现在给出n,a,bn,a,bn,a,b,求可能的不同储存方案的个数。

输入格式

第一行:共333个整数,n,a,bn,a,bn,a,b

输出格式

第一行:一个整数,表示方案个数。

输入输出样例 #1

输入 #1

2 1 1

输出 #1

9

说明/提示

所有999种方案如下:

储存区111储存区222
NULL\verb!NULL!NULLNULL\verb!NULL!NULL
000NULL\verb!NULL!NULL
111NULL\verb!NULL!NULL
NULL\verb!NULL!NULL000
NULL\verb!NULL!NULL111
0,10,10,1NULL\verb!NULL!NULL
NULL\verb!NULL!NULL0,10,10,1
111000
000111

对于全部数据,a,b≤50a,b\le 50a,b50n+a≤50n+a\le 50n+a50n+b≤50n+b\le 50n+b50


upd 2022.10.22\text{upd 2022.10.22}upd 2022.10.22:新增加一组 Hack 数据。

C+=实现

#include<bits/stdc++.h>usingnamespacestd;inlineintread(){intx=0,f=1;charch=getchar();while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}returnx*f;}inlinevoidwrite(intx){if(x<0){putchar('-');x=-x;}if(x>9)write(x/10);putchar(x%10+'0');}//前面都是读入和输出intC(intr,intn){//计算组合intans=1;for(inti=1;i<=r;++i){ans*=n-i+1;ans/=i;}returnans;}signedmain(){intn,a,b;n=read();a=read();b=read();write(C(n,a+n)*C(n,b+n));//代入公式return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

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

Git commit规范提交Sonic项目代码,团队协作更高效

Git commit规范提交Sonic项目代码&#xff0c;团队协作更高效 在AI数字人技术加速落地的今天&#xff0c;一个看似不起眼但影响深远的问题正困扰着许多开发团队&#xff1a;如何在高频迭代中保持代码库的清晰与可控&#xff1f;尤其是在像 Sonic 这样的语音驱动数字人项目中——…

作者头像 李华
网站建设 2026/5/23 21:32:34

expand_ratio取0.15-0.2,为Sonic数字人预留面部动作空间

expand_ratio取0.15-0.2&#xff0c;为Sonic数字人预留面部动作空间 在当前AIGC浪潮席卷内容生产的背景下&#xff0c;虚拟形象的生成效率与真实感正经历一场静默但深刻的变革。尤其在短视频、直播带货、智能客服等高频交互场景中&#xff0c;用户对“会说话的数字人”已不再满…

作者头像 李华