码迷,mamicode.com
首页 > 其他好文 > 详细

ural 1225 Flags

时间:2015-04-27 21:55:11      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:ural   acm算法   



1225. Flags

Time limit: 1.0 second
Memory limit: 64 MB
On the Day of the Flag of Russia a shop-owner decided to decorate the show-window of his shop with textile stripes of white, blue and red colors. He wants to satisfy the following conditions:
  1. Stripes of the same color cannot be placed next to each other.
  2. A blue stripe must always be placed between a white and a red or between a red and a white one.
Determine the number of the ways to fulfill his wish.
Example. For N = 3 result is following:
技术分享

Input

N, the number of the stripes, 1 ≤ N ≤ 45.

Output

M, the number of the ways to decorate the shop-window.

Sample

input output
3
4
Problem Source: 2002-2003 ACM Central Region of Russia Quarterfinal Programming Contest, Rybinsk, October 2002

题意:蓝色只能在白红之间,不能连续放同一个颜色。问有几种方法
水题,简单DP。
#include <algorithm>
#include <map>
#include <cstring>
#include <cmath>
#include <iostream>
using namespace std;
#define lson l , m , rt << 1
#define rson m + 1 , r , rt << 1 | 1
#define LL __int64
typedef long long ll;
#define PI 3.1415926
ll dp[46];
int main()
{
     int i;
     dp[1]=2;
     dp[2]=2;
     dp[3]=4;
     for(i=4;i<=45;i++)
        dp[i]=dp[i-1]+dp[i-2];
     int n;
     while(cin>>n)
        cout<<dp[n]<<endl;
     return 0;
}


ural 1225 Flags

标签:ural   acm算法   

原文地址:http://blog.csdn.net/sky_miange/article/details/45314989

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!