题意比较简单,简单的让我有点害怕自己犯想当然的毛病
给三个数据 t-测试数据组数, n-字符串的长度, h-字符串中‘1’的个数。(其余的一定是‘0’)
(我用的是STL中的库函数next_permutation())
代码如下:
#include <cstdio>
#include <algorithm>
using namespace std;
int main ()
{
int t, n, h;
char p[20];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&h);
p[n]=0;
for(int i = n-1; i >=0; i--)
if(n-i<=h)p[i] = '1';
else p[i] = '0';
do
{
printf("%s\n",p);
}
while(next_permutation(p,p+n));
if(t)puts("");
}
return 0;
}