HDU 2045 不容易系列之(3)—— LELE的RPG难题

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2045

题记:先假设第一个数永远是1,那么最后一个数是非1的情况是有规律的,第i个格子是非1的情况是第i-1个格子的非1个数
加上1的个数乘2。可得表达式a[i]=a[i-1]+(2i-1-a[i-1])*2,最后打表即可。

#include
using namespace std;
typedef long long ll;
ll colour[55];
int main(){
    colour[0]=0;
    for(int i=1;i<=50;i++)
        colour[i]=colour[i-1]+(pow(2,i-1)-colour[i-1])*2;
    colour[0]=1;
    int n;
    while(cin>>n){
        cout<<colour[n-1]*3<<endl;
    }
    return 0;
}

你可能感兴趣的:(HDU)