zoukankan      html  css  js  c++  java
  • P1025 数的划分

    题目描述

    将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。

    例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。

    1,1,5
    1,5,1
    5,1,1

    问有多少种不同的分法。

    输入格式

    n,k(6<n200,2k6)

    输出格式

    11个整数,即不同的分法。

    输入输出样例

    输入 #1
    7 3
    
    输出 #1
    4
    

    说明/提示

    四种分法为:
    1,1,5
    1,2,4
    1,3,3
    2,2,3

    #include<bits/stdc++.h>
    using namespace std;
    int n,k,a[100001],i,j,b=0;
    void dfs(int x,int y,int ans)
    {
        if(y==1&&n-ans>=x)
        {
            b++;return;
        }
        if(y==1&&n-ans<x)
        return;
        for(int i=x;i<=(n+1-ans)/y+1;i++)
        {
            ans=ans+i;
            dfs(i,y-1,ans);
            ans=ans-i;
        }
    }
    int main(){
        cin>>n>>k;
        dfs(1,k,0);
    cout<<b;
    }
     
     
  • 相关阅读:
    JS 寻路算法
    Fireworks基本使用
    html基础知识汇总(二)之Emmet语法
    JS函数式编程
    Web前端导航
    CSS样式一
    选择器的分类
    框架集
    表单标签元素
    图像热点&图像映射
  • 原文地址:https://www.cnblogs.com/lau1997/p/12534709.html
Copyright © 2011-2022 走看看