题目描述
有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够多。要求把N个盒子放成一行,但至少有3个U放在一起,有多少种方法?
输入格式
第一行包含一个整数N(3<=N<=30)。
输出格式
输出一个整数表示方法数。
输入样例
4
输出样例
3
题目描述
有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够多。要求把N个盒子放成一行,但至少有3个U放在一起,有多少种方法?
输入格式
第一行包含一个整数N(3<=N<=30)。
输出格式
输出一个整数表示方法数。
输入样例
4
输出样例
3
#include<bits/stdc++.h>
using namespace std;
int f(int n){
if(n<3){
return 0;
}
else if(n==3){
return 1;
}
else if(n==4){
return 3;
}
else{
return 2*f(n-1)+pow(2,n-4)-f(n-4);
}
}
int main(){
int n;
cin>>n;
cout<<f(n);
return 0;
}