代码如下:
#include<iostream>
using namespace std;
struct sth
{
int n;
int p;
};
int main()
{
sth info[1000];
int num;
bool p;
int n;cin>>n;
for(int i=0;i<n;i++)
{
cin>>info[i].n>>info[i].p;
}
for(int i=0;i<n;i++)
{
if(2*info[i].p>info[i].n)
{
cout<<-1<<endl;
continue;
}
else {
num = info[i].p * 2 + 1;
p = true;
for (int j = 0; j < info[j].n - num; j++) cout << 0;
for (int j = num; j < info[j].n; j++) {
cout << p;
p ^= 1;
}
cout << endl;
}
}
cout << endl;
}
输入 1 5 1 输出 00101
输入 1 3 1 输出 101
但是输入 2 5 1 3 1 时
为什么输出
0101
0101?