九度oj 题目1552:座位问题
2024-08-22 20:07:35
- 题目描述:
-
计算机学院的男生和女生共n个人要坐成一排玩游戏,因为计算机的女生都非常害羞,男生又很主动,所以活动的组织者要求在任何时候,一个女生的左边或者右边至少有一个女生,即每个女生均不会只与男生相邻。现在活动的组织者想知道,共有多少种可选的座位方案。
例如当n为4时,共有
女女女女, 女女女男, 男女女女, 女女男男, 男女女男, 男男女女, 男男男男
7种。
- 输入:
-
输入包含多组测试用例,每组测试用例仅包含一个整数n(1<=n<=1000)。
- 输出:
-
对于每组测试用例,输出一个数代表可选的方案数,为防止答案过大,答案对1000000007取模。
- 样例输入:
-
1
2
4
- 样例输出:
-
1
2
7 dp[i][0]表示有i个座位并且最后一个人是女生的情况数dp[i][0]表示有i个座位并且最后一个人是男生的情况数 代码如下:
#include <cstdio>
#define M 1000000007
int dp[][]; int main(int argc, char const *argv[])
{
dp[][] = ;
dp[][] = ;
dp[][] = ;
dp[][] = ;
for(int i = ; i <= ; i++) {
dp[i][] = (dp[i-][] + dp[i-][])%M;
dp[i][] = (dp[i-][] + dp[i-][])%M;
}
int n;
while(scanf("%d",&n) != EOF) {
printf("%d\n",(dp[n][] + dp[n][])%M);
}
return ;
}第一次提交错误,代码如下
#include <cstdio>
#define M 1000000007
int dp[][]; int main(int argc, char const *argv[])
{
dp[][] = ;
dp[][] = ;
dp[][] = ;
dp[][] = ;
for(int i = ; i <= ; i++) {
dp[i][] = (dp[i-][] + dp[i-][])%M;
dp[i][] = (dp[i-][] + dp[i-][])%M;
}
int n;
while(scanf("%d",&n) != EOF) {
printf("%d\n",dp[n][] + dp[n][]);
}
return ;
}原因在第17行没有对和%M
最新文章
- EC笔记:第三部分:14、在资源管理类中小心Copying行为
- string常用函数
- 使用PhpStrom等IDE编辑 远程linux服务器上的文件 实时更新
- 今天简单说一下cdc 的使用
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- Android程序设计-圆形图片的实现
- font-family属性与字体对齐
- 输出图片的php代码前面不能有空白行
- Day9 网络编程
- (六)Struts2 国际化
- C程序设计语言练习题1-4
- Core Data使用之一(Swift): 获取
- 团队作业4——第一次项目冲刺(Alpha版本)日志集合处
- JS原型学习之旅(一)之一图了解原型链关系
- HTML入门笔记
- bzoj5251 [2018多省省队联测]劈配
- python 的 virtualenv 环境搭建及 sublime 手动创建运行环境
- python随笔--复习专用
- dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
- CSS 快速学习
热门文章
- Python3+Selenium3+webdriver学习笔记7(选择多链接的结果、iframe、下拉框)
- mysql+thinkphp +amcharts 完成图表统计功能
- [VC]关于ocx打包为cab的使用
- VB SMTP用户验证发送mail
- 【转】iOS-生成Bundle包-引入bundle-使用bundle
- Ball Coloring
- javaweb基础(13)_session防止表单重复提交
- Linux学习日记:第二天
- -安装与配置 FTP 服务器
- setTimeout,clearTimeout的一些好用法