uva 729

题意:给你一串二进制串,而前N-M是0,后M位是1,让你生成它之后的全排列,next_permutation()解决

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

char s[20];

int main()
{
	int t;
	scanf("%d",&t);
	while (t--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		memset(s,0,sizeof(s));

		for (int i = 0 ; i < a-b ; i++)
			s[i] = '0' ;
		for (int j = a-b ; j < a ; j++)
			s[j] = '1';
		cout<<s<<endl;

		while (next_permutation(s,s+a))
			 cout<<s<<endl;
		if (t)
			cout<<endl;
	}
	return 0;
}



你可能感兴趣的:(uva 729)