游客 Signup | Login
中文 | En

2173 - 计算机C13001第一次小组赛D题

The Big Flag-raising

In the Maritime University , there is a tradition that is big flag-raising . 

At 5:50 in the morning , wearing uniforms and lining up for each student is a big headache . In order to improve the efficiency of collection and  save more sleep time .The school leadership decides to divide the specific area into N small areas of equal size.Now assume that we don’t consider the length  of the queue .The small areas will be seen as a straight line. In order to look more orderly, students in each small area are required to wear the same uniform .The adjacent small area should not wear the same uniform.Moreover, the head area and the tail area can’t wear the same uniform.There are some phalanxes(each phalanx occupies one small area) dressed in the specific uniform (one of three given kinds of uniform), and we want to know how many different permutation solutions(Assume that the number of phalanxes waring each kind of uniform is a certain number).

Input

The input will contain multiple test cases ,Each case will only contain a number N(1 <= N <= 50).

Output

Output the answer in a line.

Examples

Input

1
2

Output

3
6

Solution C

#include<stdio.h>
int main()
{
    int n,i;
    double a[51];
    a[1]=3;
	a[2]=6;
	a[3]=6;
    for(i=4;i<=50;i++)
        a[i]=a[i-2]*2+a[i-1];
    while(scanf("%d",&n)!=EOF)
        printf("%.0lf\n",a[n]);
    return 0;
}

Solution C++

#include<iostream>
#include<cstdio>
long long a[51]={0};
using namespace std;
int main()
{
   int n,i;
   a[0]=3;a[1]=a[2]=6;
   for(i=3;i<50;i++)
   {
      a[i]=a[i-1]+2*a[i-2];
   }
   while(scanf("%d",&n)!=EOF)
   {
       printf("%lld\n",a[n-1]);
   }
   return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题