数的划分(信息学奥赛一本通-T1440)
【题目描述】
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。
例如:n=7,k=3,下面三种分法被认为是相同的。
1,1,5; 1,5,1; 5,1,1;
问有多少种不同的分法。 输出一个整数,即不同的分法
【输入】
两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。
【输出】
一个整数,即不同的分法。
【输入样例】
7 3
【输出样例】
4
【源程序】
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 1000000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
int res;
int a[N];
int n,k;
void dfs(int sum,int step){if(step==k){if(sum>=a[step-1])res++;return;}for(int i=a[step-1];i<=sum/(k-step+1);i++){//上下界剪枝a[step]=i;sum-=i;dfs(sum,step+1);sum+=i;}
}
int main() {scanf("%d%d",&n,&k);a[0]=1;dfs(n,1);printf("%d\n",res);return 0;
}
数的划分(信息学奥赛一本通-T1440)相关推荐
- dptcpp 题目 2352: [信息学奥赛一本通-T1440]数的划分-dp
题目描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. {1,1,5}:{1,5,1}:{5,1,1}: 问有多少种不同的分法 ...
- 删数问题(信息学奥赛一本通-T1321)
[题目描述] 输入一个高精度的正整数n,去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数.编程对给定的n和s,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整数.(n不超过240 ...
- 满足条件的数累加(信息学奥赛一本通-T1066)
[题目描述] 将正整数m和n之间(包括m和n)能被17整除的数累加,其中0<m<n<1000. [输入] 一行,包含两个整数m和n,其间,以一个空格间隔. [输出] 输出一行,包行一 ...
- 奇偶数判断(信息学奥赛一本通-T1041)
[题目描述] 给定一个整数,判断该数是奇数还是偶数.如果n是奇数,输出odd:如果n是偶数,输出even. [输入] 输入仅一行,一个大于零的正整数n. [输出] 输出仅一行,如果n是奇数,输出odd ...
- 判断数正负(信息学奥赛一本通-T1039)
[题目描述] 给定一个整数NN,判断其正负.如果N>0,输出positive:如果N=0,输出zero:如果N<0,输出negative. [输入] 输入一个整数N(−10^9≤N≤10^ ...
- 信息学奥赛一本通 1244:和为给定数 通过
我的信息学奥赛一本通个人主页:信息学奥赛一本通(C++版)在线评测系统http://ybt.ssoier.cn:8088/userinfo.php?name=15276768892 1244:和为给定 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
最新文章
- SystemTap了解
- LeetCode实战:只出现一次的数字
- 什么是HTTP Headers?
- VB.Net中关于数组赋值
- 服务器 | 种类及区别
- 关于PaddleNLP如何加载训练好的模型进行NER
- LeetCode算法入门- Longest Palindromic Substring-day5
- Anaconda卸载与重装过程记录
- django处理静态文件
- 开源 免费 java CMS - FreeCMS1.3-信息管理
- 华为非对等通信小实验
- SoapUI中文乱码
- Moodle安装完全手册
- unity3d 资源打包加密 整理
- 阿里云服务器如何使用
- python贴吧系统_【新手】python爬虫遍历贴吧用户
- python 单因子方差分析_假设检验之F检验-方差分析
- oracle pdb与cdb区别,CDB与PDB的系统关系
- Lua unpack函数用法
- 什么是深度学习? 模仿人脑的算法