【HDU 1165】【水題】Eddy's research II

495 ワード

#include "stdio.h"//y     ,      ,  m<=3 ,    
int A(int m,int n)
{
    if(n==0)
        return A(m-1,1);
    else if(m==0)
        return n+1;
    else if(m==1)
        return n+2;
    else if(m==2)
        return 2*n+3;
    else
        return A(m,n-1)*2+3;
}
int main(int argc, char const *argv[])
{
    int n,m;
    while(~scanf("%d%d",&m,&n))
        printf("%d
",A(m,n)); }

主にmの値が小さいので,最適化を行い,最適化の式で押すことができる.