码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 2067 小兔的棋盘

时间:2016-06-06 20:39:25      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

边缘条件处理好

#include <iostream>
#include <memory>

using std::cin;
using std::cout;
using std::endl;
using std::memset;

class tmp {
public:
    long long map[40][40];

    tmp() {
        memset(map, 0, sizeof(map));
    }

    long long get(int x, int y) {
        if(x == 0 && y == 0) {
            return 1;
        }
        if (x < 0 || y < 0) {
            return 0;
        }
        return map[x][y];
    }
};

int main() {
    tmp map;
    for (int lop = 0; lop < 40; lop++) {
        map.map[0][lop] = 1;
    }

    for (int lop = 0; lop < 40; lop++) {
        for (int lop2 = 0; lop2 <= lop; lop2++) {
            if (lop == lop2) {
                map.map[lop][lop2] = map.get(lop, lop2 - 1);
            } else {
                map.map[lop][lop2] = map.get(lop, lop2 - 1) + map.get(lop - 1, lop2);
            }

        }
    }
    int n = 0;
    int count = 1;
    while (cin >> n, n != -1) {
        cout << count++ << " " << n << " " << 2 * map.map[n][n] << endl;
    }
    return 0;
}

 

HDU 2067 小兔的棋盘

标签:

原文地址:http://www.cnblogs.com/makejeffer/p/5564843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!