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

打卡信奥刷题(2950)用C++实现信奥题 P5879 放棋子

P5879 放棋子

题目描述

小虎刚刚上了幼儿园,老师让他做一个家庭作业:首先画333行格子,第一行有三个格子,第二行有222个格子,第三行有111个格子。每行的格子从左到右可以放棋子,但要求除第一行外,每行放的棋子数不能超过上一行的棋子。第一行的棋子数不能为000,但剩下行可以为空。玩了一会儿,小虎对哥哥大虎说:”这个作业有很多种摆放法,我想找到,但我不知道有多少种方案,你能帮助我吗?”

大虎是学校信息学集训队的,立刻想到用计算机来解决这个问题,并很快有了解答:131313

第二天他把问题拿到学校,并说如果第一行有NNN个格子,第二行有N−1N-1N1个格子,……,第NNN行有111个格子,怎么办?现在请你一块来帮助他解决这个难题。

输入格式

仅一行,一个正整数NNN

输出格式

一行,方案总数。

输入输出样例 #1

输入 #1

2

输出 #1

4

输入输出样例 #2

输入 #2

3

输出 #2

13

说明/提示

样例 1 说明:N=2N=2N=2时,有如下444种摆放棋子法(*表示棋子,_表示空格):

方案数1234
第一行*_***_**
第二行__**

对于30%30\%30%数据:1≤N≤121\le N\le 121N12

对于50%50\%50%数据:1≤N≤301\le N\le 301N30

对于100%100\%100%数据:1≤N≤1001\le N\le 1001N100

C++实现

#include<bits/stdc++.h>#defineFor(i,a,b)for(registerinti=(a);i<=(b);++i)#defineRep(i,a,b)for(registerinti=(a);i>=(b);--i)usingnamespacestd;constintmaxn=110;inlinevoidwrite(intx){if(x<0){putchar('-');x=-x;}if(x>9)write(x/10);putchar(x%10+48);}intn;intM=1,f[maxn][maxn][2],ans[2];intmain(){cin>>n;For(i,1,n)f[i][0][0]=1;For(i,1,30)M*=10;//构造一个30位的取模数,方便压位For(i,1,n)For(j,1,i){f[i][j][0]=(f[i][j-1][0]+f[i-1][j][0])%M;//压位,状方在前文已经讲过了f[i][j][1]=f[i][j-1][1]+f[i-1][j][1]+(f[i][j-1][0]+f[i-1][j][0])/M;}For(i,1,n)ans[0]+=f[n][i][0];ans[1]=ans[0]/M;//处理进位(很容易写错)ans[0]%=M;For(i,1,n)ans[1]+=f[n][i][1];if(ans[1]!=0){write(ans[1]);if(ans[0]<=M/10)cout<<0;//用一个比较讨巧的方法处理首位是0的情况}write(ans[0]);cout<<endl;//可省return0;}

后续

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

http://www.jsqmd.com/news/475992/

相关文章:

  • Using Vulkan -- Layers
  • **标题:别再被“测不准”坑了!BOSCH博世GLM150C实测,这钱花得值吗?(附4款竞品硬核对比)**---朋友,你有没有这种经历?装修量个房,自己拿卷尺折腾半天,数字对不上;工地验收,数
  • 2026 年就业竞争激烈!当1222 万毕业生遭遇 “35 岁门槛” 与 AI 革命的双重冲击
  • Nanbeige4.1-3B轻量模型部署对比:vLLM vs Transformers原生加载显存与速度
  • Using Vulkan -- Querying Properties, Extensions, Features, Limits, and Formats --Enabling Extensions
  • 北京联工密封科技有限公司电话查询:企业官方联系渠道指南 - 品牌推荐
  • 2019-2025年 我国区县逐年新房房价数据(Excel/Shp格式)
  • sqlloader
  • 《ShardingSphere解读》02 项目:什么是ShardingSphere ?
  • 2026年3月13日人工智能早间新闻
  • 微信 AI 入口网关设计思路优化
  • 高中数学必修一
  • 芯魂共生·智联无界:基于华为海思与鸿蒙生态的CAT.1模组全域赋能计划
  • 京沪深杭宁锡六城实测:2026高端腕表维修白皮书(卡地亚/积家/万国篇) - 时光修表匠
  • 贵港电梯广告哪个更值得选择
  • OKR2
  • 五:数据目录深度解析,每个文件都在做什么
  • 全国省份点位数据(shp格式\excel格式)2025年
  • 实战案例六:Claude Code + Git 技能自动化 PR 工作流
  • 梦行云软件——收银系统单店版 适用于:便利店,超市,水果店,干果零配食店等各类门店,可对接主流硬件设备:如条码枪,热敏打印机,电子称等。另可加购线上商城,小程序,APP
  • 书单号视频搬运软件推荐8款(2026实测版)
  • Java SE EE ME概述
  • 空间 - 通道协同注意力模块
  • 网络安全学习路线:2026年最新技术趋势与系统化成长路径
  • HE染色完全指南:从实验原理到结果判读
  • 告别“记忆黑洞”:OpenClaw + 星链4SAPI,为国产大模型打造低成本“第二大脑”
  • 嵌入式人工智能(嵌入式AI)无人机案例
  • 2026最稳的AI短剧项目:可贴牌、可独立部署、可商用的 AI 短剧创作系统,打造属于你的“纳米级”漫剧工厂
  • 程序员转行|一文读懂AI赋能:从技术到实战,附大模型系统学习路径
  • 06|AI 参与开发的安全底线:别把密钥和隐私喂进去