⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1402.cpp

📁 哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1402 on 2005-09-23 at 17:05:23 */ 
#include <stdio.h>

int main()
{
    int n, k;
    int i, j;
    int c[51][51], d[51][51], e[51][51];
    
    for(i = 1; i <= 50; i++) {
        for(j = 1; j <= 50; j++) {
            if(j == 1 || i == 1) {
                c[i][j] = 1;
                d[i][j] = 1;
                if(i == 1) {
                    e[i][j] = 1;
                } else {
                    e[i][j] = 0;
                }
            } else {
                if(j % 2 == 0) {
                    d[i][j] = d[i][j-1];
                } else {
                    if(i < j) {
                        d[i][j] = d[i][i];
                    } else if(i == j) {
                        d[i][j] = 1 + d[i][j-2];
                    } else {
                        d[i][j] = d[i-j][j] + d[i][j-2];
                    }    
                }
                if(i < j) {
                    c[i][j] = c[i][i];
                    e[i][j] = e[i][i];
                } else if(i == j) {
                    c[i][j] = 1 + c[i][i-1];
                    e[i][j] = 1 + e[i][i-1];
                } else {
                    c[i][j] = c[i][j-1] + c[i-j][j];
                    e[i][j] = e[i-j][j-1] + e[i][j-1];
                }
            }
        }
    }    
    while(scanf("%d %d", &n, &k) == 2) {
        printf("%d\n", c[n][n]);
        if(n == k) {
            printf("1\n");
        } else {    
            printf("%d\n", c[n-k][k]);
        }    
        printf("%d\n", c[n][k]);
        printf("%d\n", d[n][n]);
        printf("%d\n", e[n][n]);
        putchar('\n');
    }
    
    return 0;    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -