/*************************************************************************
File Name: uva729.cpp
Author: yubo
Mail: yuzibode@126.com
Created Time: 2014年06月08日 星期日 04时43分43秒
学习重点:与uva10098非常相似,没有别的了
meanings:
next_permutation();
Sample Input
1
4 2
Sample Output
0011
0101
0110
1001
1010
1100
************************************************************************/
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
int haming[20];
int main()
{
// freopen("in.txt","r",stdin);
int T;
scanf("%d",&T);
while(T--){
int N,H;
scanf("%d%d",&N,&H);
int i,j;
for(i=0;i<N-H;i++){
haming[i]=0;
}
for(j=i;j<N;j++)
haming[j]=1;//输入时特殊处理了,其他情况要预先sort一次
do{
for(int k=0;k<N;k++)
printf("%d",haming[k]);
printf("\n");
}while(next_permutation(haming,haming+N));
if(T!=0)
printf("\n");
else
;
}
}
uva 729
最新推荐文章于 2017-08-04 15:57:00 发布
本博客详细介绍了如何解决 UVA 729 问题,通过使用 C++ 的 next_permutation() 函数来生成所有可能的排列,并在每一步输出结果。适合初学者学习排序算法的应用。
513

被折叠的 条评论
为什么被折叠?



