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

    题目描述

    将整数 n 分成 k 份,且每份不能为空,问有多少种不同的分法。当 n=7,k=3 时,下面三种分法被认为是相同的:1 1 5;1 5 1 ;5 1 1 

    输入格式

    一行两个数 n ,k 。

    输出格式

    一行一个整数,即不同的分法数。

    样例
    输入复制
    7 3
    输出复制
    4

    数据范围与提示

     6<=n<=200,2<=k<=6。

    __________________________________

    简单的深搜

    __________________________________

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int n,k;
     4 int ans;
     5 void dfs(int x,int p,int pre)
     6 {
     7     if(p==k)
     8         if(x>=pre)
     9         {
    10             ans++;
    11             return;
    12         }
    13     for(int i=pre;i<=x;++i)
    14     {
    15         dfs(x-i,p+1,i);
    16     }
    17 }
    18 int main()
    19 {
    20     cin>>n>>k;
    21     dfs(n,1,1);
    22     cout<<ans;
    23     return 0;
    24 }
    View Code
  • 相关阅读:
    org.springframework.beans.factory.BeanCreationException
    线程浅谈
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
    第五次作业
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/gryzy/p/14030187.html
Copyright © 2011-2022 走看看