1031 骨牌覆盖

1031 骨牌覆盖

基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题

收藏

关注

在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。

问有多少种不同的排列方法。

例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)

Input

输入N(N <= 1000)

Output

输出数量 Mod 10^9 + 7

Input示例

3

Output示例

3
#include <bits/stdc++.h>
#define mod 1000000007
using namespace std;
long long  k[1005];
int main(){
  int n,m;
  cin>>n;
  k[1]=1,k[2]=2;
  for(int i=3;i<=n;i++){
    k[i]=k[i-1]%mod+k[i-2]%mod;
  }
  cout<<k[n]%mod<<endl;
  return 0;
}
时间: 2024-10-10 10:34:27

1031 骨牌覆盖的相关文章

1007 正整数分组 1010 只包含因子2 3 5的数 1014 X^2 Mod P 1024 矩阵中不重复的元素 1031 骨牌覆盖

1007 正整数分组 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. Input 第1行:一个数N,N为正整数的数量. 第2 - N+1行,N个正整数. (N <= 100, 所有正整数的和 <= 10000) Output 输出这个最小差 Input示例 5 1 2 3 4 5 Output示例 1这题不就是小李打怪兽吗,不知道谁模仿谁,呵呵,刚还是我编的题里的,dp,证明一下(要证明什么自

51Nod 1031 骨牌覆盖 | Fibonacci

Input 输入N(N <= 1000) Output 输出数量 Mod 10^9 + 7 Input示例 3 Output示例 3 思路:对于第x块骨牌的情况,我们用a[x]表示其方法数:其比x-1块骨牌时多了一块骨牌,多出的骨牌有两种放法: 1.我们可以直接将其竖着添加在最末端,那么其排列数就为就是前x-1块骨牌的排列数,即为a[x-1]: 2. 我们也可以将其和其前面一块骨牌一起横着放,那么其排列数就是前x-2块骨牌的排列数,即为a[x-2]: 所以有 a[x]=a[x-1]+a[x-2]

51Nod 1031 骨牌覆盖

在2*N的一个长方形方格中,用一个1*2的骨牌排满方格. 问有多少种不同的排列方法. 例如:2 * 3的方格,共有3种不同的排法.(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果) Input 输入N(N <= 1000) Output 输出数量 Mod 10^9 + 7 Input示例 3 Output示例 3 思路:斐波那契 1 #include <iostream> 2 #include <algorithm> 3 #include <stdio.h

编程之美 --1 : 骨牌覆盖问题&#183;一

题目1 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘.对于这个棋盘,一共有多少种不同的覆盖方法呢?举个例子,对于长度为1到3的棋盘,我们有下面几种覆盖方式: 提示:骨牌覆盖 提示:如何快速计算结果 输入 第1行:1个整数N.表示棋盘长度.1≤N≤100,000,000 输出 第1行:1个整数,表示覆盖方案数 MOD 1999

随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3

先说说前面的SPOJ-RNG吧,题意就是给n个数,x1,x2,...,xn 每次可以生成[-x1,x1]范围的浮点数,把n次这种操作生成的数之和加起来,为s,求s在[A,B]内的概率 连续形的概率,想象为一个n维长方体,有两个平面与这个几何图形相割,于是就变成了求面(体)积问题,一般要去重,n维区域系数:s^n/n!,至于区间问题,直接前缀之差搞定 然后就是悲催的算法马拉松17F题了...其实是道好题来的,只是出题人不知世界上还有这题,然后某大牛把思路理清后把答案直接搬了过来 经典的1*2骨牌覆

hihoCoder #1162 : 骨牌覆盖问题&#183;三

#1162 : 骨牌覆盖问题·三 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 前两周里,我们讲解了2xN,3xN骨牌覆盖的问题,并且引入了两种不同的递推方法.这一次我们再加强一次题目,对于给定的K和N,我们需要去求KxN棋盘的覆盖方案数. 提示:KxN骨牌覆盖 输入 第1行:2个整数N.表示棋盘宽度为k,长度为N.2≤K≤7,1≤N≤100,000,000 输出 第1行:1个整数,表示覆盖方案数 MOD 1235

[hihoCoder] 题目1 : 骨牌覆盖问题&#183;二

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上一周我们研究了2xN的骨牌问题,这一周我们不妨加大一下难度,研究一下3xN的骨牌问题?所以我们的题目是:对于3xN的棋盘,使用1x2的骨牌去覆盖一共有多少种不同的覆盖方法呢?首先我们可以肯定,奇数长度一定是没有办法覆盖的:对于偶数长度,比如2,4,我们有下面几种覆盖方式: 提示:3xN骨牌覆盖 输入 第1行:1个整数N.表示棋盘长度.1≤N≤100,000,000 输出 第1行:1个整数,表示覆盖方案数 MOD 12

hihoCoder 骨牌覆盖问题&#183;一 hiho一下 第四十一周

时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘.对于这个棋盘,一共有多少种不同的覆盖方法呢?举个例子,对于长度为1到3的棋盘,我们有下面几种覆盖方式: 提示:骨牌覆盖 提示:如何快速计算结果 输入 第1行:1个整数N.表示棋盘长度.1≤N≤100,000,000 输出 第1行:1个整数,表示覆盖方案数 MOD 19999997 样例输入 62247

骨牌覆盖

P2070 - 骨牌覆盖 Description 有一个3*n的棋盘让你放入若干1*2的骨牌,要求将整棋盘恰好覆盖满.求方案数! Input 一个整数n. Output 方案数模12357的值. Sample Input 2 Sample Output 3 Hint 1<=n<=100000000 td p { margin-bottom: 0cm } pre.cjk { font-family: "Droid Sans Fallback", monospace } p {