模拟考试9.3-笨笨连线游戏(route.cpp)
【题目描述】
一天,妈妈在黑板上画了一个大大的圆,然后又在圆弧上标上1,2,3,...,,2N个数。然后让笨笨任意选取一对数(两个不同的数)上连一条直线。然后再任意选取一对数,再边一条直线,但这条直线不能和任何别的直线相交。每个数都要恰好与另一个数连一条直线。
笨笨费了好大的劲才找出一种连线方案。妈妈在旁边问笨笨:给出N,请问不同的连线方案有多少种呢?
笨笨算不出来,只好请教作为大牛的你。
【输入】
多组数据,每组数据的格式为:
第1行:1个整数N(1<= N <= 150),表示在圆弧上会标记2N个数
当输入的N为0时,表示输入结束。
【输出】
每组输入对应输出一行,一个整数,表示连线的方案数。由于结果太大,只保留模10007后的余数。
【样例输入】
2
3
0
【样例输出】
2
5
【解题思路】
1、递推
2、本题的思路类似“Catalan数”
(1)当n=0时,f(0)=1;
(2)当n=1时,f(1)=1;
(3)当n=2时,f(2)=f(0)*f(1)+f(1)*f(0)=2;
解释:当n=2时,从1号点出发划一条直线的方案是f(1-1)*f(2-1),从2号点出发划一条直线的方案是f(2-1)*f(2-2),总方案是从1号和2号点出发方案之和。以此类推:
(4)当n=3时,f(3)=f(1-1)*f(3-1)+f(1)*f(3-2)+f(2)*f(3-3);
(5)F(n)=f(0)*f(n-1)+f(1)*f(n-2)+...+ f(n-1)*f(0)
1号点可以与偶数点连接。然后就分成了两个部分。然后。不解释了。
直接上代码...........
#include<cstdio>
#include<cmath>
int n,x[155];
int main()
{freopen("route.in","r",stdin);freopen("route.out","w",stdout);int i,j;x[0]=1;x[1]=1;while(1){scanf("%d",&n);if(!n) break;if(x[n]){printf("%d\n",x[n]);continue;}for(i=2;x[i];i++);for(;i<=n;i++)for(j=0;j<=i;j++)x[i]=(x[i]+x[j]*x[i-j-1])%10007;printf("%d\n",x[n]);}
}
很简短而又简单对吧.................
然而考试的时候我就是没想到...................omg居然这么简单我也是分分钟拒绝的。
由于结果会溢出,所以要边算边模.........
然后........没什么可说的了吧= =
模拟考试9.3-笨笨连线游戏(route.cpp)相关推荐
- 【模考3】笨笨连线游戏
[题目描述] 一天,妈妈在黑板上画了一个大大的圆,然后又在圆弧上标上1,2,3,...,,2N个数.然后让笨笨任意选取一对数(两个不同的数)上连一条直线.然后再任意选取一对数,再边一条直线,但这条直线 ...
- 笨笨工作室告别十月模拟赛
笨笨工作室告别十月模拟赛 为了大家适应今年复赛电子版题目特意整理了一份电子版题目: /Files/hhdllhflower/笨笨工作室告别十月模拟赛.rar Chess Background 笨笨:& ...
- 【模拟】【NOIP2008】笨小猴 word
笨小猴 (word.pas/c/cpp) [问题描述] 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法 ...
- 洛谷 P1948 [USACO08JAN]电话线Telephone Lines【NOIP模拟笨笨的电话线】
[二分,spfa chenck] 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the p ...
- 考试题目“笨笨的西瓜种植”
[题目描述] 笨笨种了一块西瓜地,但这块西瓜地的种植范围是一条直线的-- 笨笨在一番研究过后,得出了m个结论,这m个结论可以使他收获的西瓜最多. 笨笨的结论是这样的: 从西瓜地B处到E处至少要种植T个 ...
- 考试题目“笨笨玩游戏”
[题目描述] 一天,笨笨和妈妈玩游戏,妈妈 给笨笨出N个正整数,让笨笨把这N个正整数连接生成一个"大"的整数,每个正整数只使用一次,让笨笨告诉妈妈这样生成的大整数的最大值. 例如, ...
- 【模拟一】笨笨玩游戏
[题目描述] 一天,笨笨和妈妈玩游戏,妈妈 给笨笨出N个正整数,让笨笨把这N个正整数连接生成一个"大"的整数,每个正整数只使用一次,让笨笨告诉妈妈这样生成的大整数的最大值. 例如, ...
- 大一下学期C++期末模拟考试参考答案
期末模拟考试参考答案 中国传媒大学2020春季学期,C++程序设计期末模拟答案 说在前面:以下并不是官方给出的答案,而是学生自制版,提交结果AC,但不能保证绝对的正确性,仅供大家参考.我在程序中以注释 ...
- 计算机操作员中级操作试题,中级计算机操作员应知模拟考试试题(一)
中级计算机操作员应知模拟考试试题(一) 中级计算机操作员应知模拟考试试题(一) 一.是非判断题(正确的打"√",错误的打"╳",每小题1分,共20分) (1)电 ...
最新文章
- SQL server 小笔记
- UVA227 Puzzle
- ECMAScript6入门教程(一)
- python怎么对齐文件_说说在 python 中,如何对齐文本
- PHP笔记-平润年判断例子
- 【LeetCode】【HOT】142. 环形链表 II(快慢指针)
- c语言 sizeof typeof,typeof、nameof、sizeof的用法
- Qt5学习笔记之串口助手四:增加16进制/ASCII切换、周期发送
- 使用C#读写ini配置文件
- win10计算机性能设置,巧设置让Win10运行更流畅
- 解决-系统策略禁止安装此设备,请与系统管理员联系
- 连续仨月霸占牛客榜首京东T8呕心巨作:700页JVM虚拟机实战手册
- SliceM与SliceL
- 阿里全球数学竞赛赛题曝光!5万余选手奋战三天三夜争夺1%决赛门票
- 15个Android流行框架
- 聚类与分类方法的主要区别是什么?
- 360wifi linux ad hoc,Ad Hoc模式无线局域网搭建
- 《汇编语言》第5章 [BX]和loop指令
- SQL语句---多表联查、改、删
- 对抗样本(对抗攻击)入门