#include <stdio.h>
#include <malloc.h>
int main()
{
int *shu=NULL,n,r,i,j,count=;
int flag[];
scanf("%d%d", &n,&r);
if(n==r)
{ while(n)
{
printf("%d",n);
n--;
}
putchar('\n');
}
else
{
shu=(int *)malloc((r+)*sizeof(int));
for(i=r; i>=; i--)
shu[i]=n--;
for(i=; i<=r; i++)
flag[i]=;
for(i=r; i>=; i--)
printf("%d", shu[i]);
putchar('\n');
j=;
while()
{
while(j<r&&shu[j]==j)
{
flag[j]=; /*标记*/
j++;
shu[j]--;
for(i=j; i>=; i--)
shu[i-]=shu[i]-;
for(i=r; i>=; i--)
printf("%d", shu[i]);
putchar('\n');
}
if(shu[j]==j)
flag[j]=;
for(i=,count=; i<=r; i++)
if(flag[i]==)
count++;
if(count==r) break;
j=;
shu[j]--;
for(i=r; i>=; i--)
printf("%d", shu[i]);
putchar('\n');
}
}
return ;
}

用递归解的

#include<stdio.h>
int n,m;
int num[]; int dfs(int top, int v)
{
int i;
if (v == ) {
for(i=m; i>; i--)
printf("%d", num[i]);
printf("\n");
return ;
}
for(i=top; i>=v; i--) {
num[v] = i;
dfs(i-, v-);
}
} int main()
{
while(~scanf("%d%d", &n, &m)) {
dfs(n, m);
}
return ;
}

NYOJ-组合数的更多相关文章

  1. nyoj组合数

    算法:深搜 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合. 输入输入n.r.输出按特定顺序输出所有组合. 特定顺序:每一个组合中 ...

  2. nyoj 32 组合数

    组合数 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r< ...

  3. nyoj 32 组合数【简单dfs】

    组合数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合 ...

  4. NYOJ-32 组合数 AC 分类: NYOJ 2013-12-30 07:42 189人阅读 评论(0) 收藏

    #include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf(&q ...

  5. NYOJ-32 组合数 AC 分类: NYOJ 2014-01-02 22:21 112人阅读 评论(0) 收藏

    #include<stdio.h> int num[100]; int pnum(int n,int v); int mv=0; int main(){ int n,v; scanf(&q ...

  6. NYOJ 53 最少步数

    题      目    http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=58 思路借鉴   DFS-Deep First Search-深度优先 ...

  7. NYOJ 1007

    在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...

  8. NYOJ 998

    这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...

  9. LCM性质 + 组合数 - HDU 5407 CRB and Candies

    CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ...

  10. NYOJ 743

    复杂度 描述 for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) for(k=j+1;k<=n;k++) operation; 你知道 operation 共 ...

随机推荐

  1. loadrunner通过C语言实现字符的替换(只能替换单个字符,慎用)

    如果按照普通的定义字符串就会出现以下错误: 解决方法如下: 将双引号改成单引号: lr_searchReplace(abc,"test",' ','+'); Action也可以这些 ...

  2. c#写windows服务(转)

    序言 前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总 ...

  3. DSP using MATLAB示例Example3.6

    代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...

  4. http://blog.csdn.net/czmchen/article/details/42392985

    http://blog.csdn.net/czmchen/article/details/42392985

  5. Git常用命令举例

    clone一个git project到本地 git clone https://github.com/huahuiyang/network-certification.git 到这个目录下,可以发现有 ...

  6. ps去水印

    使用仿制图章工具去除使用仿制图章工具去除文字这是比较常用的方法,具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的色彩名图案采样,然后在文字区域拖动鼠标复制以覆盖文字.要注意的是,采 ...

  7. Squid的简单使用

    1. squid配置 # Squid normally listens to port http_port hosts_file /etc/hosts cache_access_log /var/lo ...

  8. 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

    兼容模式 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge ...

  9. [Sdoi2014]旅行 题解

    题目大意: 给出一个n个点的数,和m次操作.每个点有颜色和权值. 每次操作分4种 1:修改一个点的颜色 2:修改一个点的权值 3:询问从x到y的路径上,和x相同颜色的点的权值和(保证x,y同颜色) 4 ...

  10. Android Mvc 实现

    android studio java目录结构: Activity package目录:Controller 层 Model package目录:Model 层 View package目录:View ...