题目扯了一大堆什么异或 XOR A B啊 都是没什么用的
根据重点和样例就知道题目给你两个N H N是指由N个数字 H是这个N个数字中有H个1(其他全是0)
接着要你给出这N个数字的排列(主题 是值得排列 不是位置的排列)
所以可以根据next_premutation()函数来做
开始的时候WA了5/6发都没过,仔细看了一遍代码是空格的问题
有些OJ对于输出的判断是很严格的!
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<iostream>
using namespace std;
int con[20];
int main(){
int n;
scanf("%d",&n);
while (n--){
int n, h;
scanf("%d%d", &n, &h);
memset(con,0,sizeof(con));
for (int i = n - h; i < n; i++){
con[i] = 1;
}
do{
for (int i = 0; i < n; i++)
printf("%d", con[i]);
cout << endl;
} while (next_permutation(con,con+n));
if (n > 0) printf("\n");
}
return 0;
}