题目描述:

计算机学院的男生和女生共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


最新文章

  1. EC笔记:第三部分:14、在资源管理类中小心Copying行为
  2. string常用函数
  3. 使用PhpStrom等IDE编辑 远程linux服务器上的文件 实时更新
  4. 今天简单说一下cdc 的使用
  5. 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
  6. Android程序设计-圆形图片的实现
  7. font-family属性与字体对齐
  8. 输出图片的php代码前面不能有空白行
  9. Day9 网络编程
  10. (六)Struts2 国际化
  11. C程序设计语言练习题1-4
  12. Core Data使用之一(Swift): 获取
  13. 团队作业4——第一次项目冲刺(Alpha版本)日志集合处
  14. JS原型学习之旅(一)之一图了解原型链关系
  15. HTML入门笔记
  16. bzoj5251 [2018多省省队联测]劈配
  17. python 的 virtualenv 环境搭建及 sublime 手动创建运行环境
  18. python随笔--复习专用
  19. dskinlite(uieasy mfc界面库)使用记录2:绘制动态元素(按钮控件绘制元素动态控制,改变图片和文字)
  20. CSS 快速学习

热门文章

  1. Python3+Selenium3+webdriver学习笔记7(选择多链接的结果、iframe、下拉框)
  2. mysql+thinkphp +amcharts 完成图表统计功能
  3. [VC]关于ocx打包为cab的使用
  4. VB SMTP用户验证发送mail
  5. 【转】iOS-生成Bundle包-引入bundle-使用bundle
  6. Ball Coloring
  7. javaweb基础(13)_session防止表单重复提交
  8. Linux学习日记:第二天
  9. -安装与配置 FTP 服务器
  10. setTimeout,clearTimeout的一些好用法