Ural_1225 Flags

  

      /*这题推规律,f[i] = f[i-1] + f[i-2]; f[1] = f[2] = 2;原因:
当只加一个r或者w时,得到的总类数就是f[i-1];
当添加rb 或者wb 时。得到的种类数就是f[i-2];

My Code:
*/

#include <iostream>
#include <cstdio>

using namespace std;

int main(){
//freopen("data.in", "r", stdin);

long long f1, f2, f3;
int n, i;
while(~scanf("%d", &n)){
if(n <= 2){
puts("2");
continue;
}
f1 = f2 = 2;
for(i = 3; i <= n; i++){
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
printf("%lld\n", f3);
}
}

你可能感兴趣的:(flag)