HDU_2510_打表

http://acm.hdu.edu.cn/showproblem.php?pid=2510

 

dfs打表。

 

#include<iostream>
#include<cstdio>
using namespace std;

//int ans[26] = {0},a[26][26];
//
//void dfs(int n,int sum)
//{
//    if(n > 24) return;
//    for(int i = 0;i < 2;i++)
//    {
//        a[1][n] = i;
//        int s = i+sum;
//        for(int j = 2;j <= n;j++)
//        {
//            a[j][n] = a[j-1][n]^a[j-1][n-1];
//            s += a[j][n];
//        }
//        if((1+n)*n == s*4)  ans[n]++;
//        dfs(n+1,s);
//    }
//}
//int main()
//{
//    dfs(1,0);
//    for(int i = 1;i <= 24;i++)  printf("%d ",ans[i]);
//    return 0;
//}

int main()
{
    int ans[] = {0, 0, 0, 4, 6, 0, 0, 12, 40, 0, 0, 171, 410, 0, 0,
            1896, 5160, 0, 0, 32757, 59984, 0, 0, 431095, 822229};
    int n;
    while(cin >> n && n)    cout << n << ' ' << ans[n] << endl;
    return 0;
}

 

posted @ 2016-09-14 19:52  zzzzzzzzhu  阅读(114)  评论(0编辑  收藏  举报