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

📄 1483.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1483 on 2005-03-19 at 12:05:58 */ 
#include <stdio.h>
#include <stdlib.h>

int main()
{
    unsigned long m, n, i, j, *mat = NULL, k, mats;
    
    while(scanf("%lu %lu", &m, &n) == 2){
        if((m == 0) && (n == 0)){
            return 0;
        }else{  
            m += n; 
            if (n == 0 || m == n){
                printf("1\n");
            }else if(n == 1 || n == m - 1){
                printf("%lu\n", m);
            }else{
                if(2 * n > m){
                    n = m - n;
                }
                k = m - n;    
                mat = (unsigned long*)malloc(sizeof(unsigned long)*(n*(k+1)+1));
                for(j = 0; j < n; j++){
                    mat[j] = 1;
                    for(i = 1; i <= k; i++){
                        if(j == 0){
                            mat[j+i*n] = i+1;
                        }else{
                            mat[j+i*n] = mat[j+(i-1)*n] + mat[(j-1)+i*n];
                        }
                    }        
                }
                printf("%lu\n", mat[(n-1)+k*n]);
                free(mat);
            }
        }
    }

    return 0;
}

⌨️ 快捷键说明

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