题目样例似乎提供了一些虚无缥缈的思路,但我们的思维不应当局限于此。
若尝试另辟蹊径,答案便呼之欲出了。
点击查看代码
#include <bits/stdc++.h>
using namespace std;
int read1()
{
char cc=getchar();
while(!(cc>=48&&cc<=57))
{
if(cc=='-')
{
break;
}
cc=getchar();
}
bool f=false;
int s=0;
if(cc=='-')
{
f=true;
}
else
{
s=cc-48;
}
while(1)
{
cc=getchar();
if(cc>=48&&cc<=57)
{
s=s*10+cc-48;
}
else
{
break;
}
}
if(f==true)
{
s=-s;
}
return s;
}
int main()
{
/*
for(int i=-10;i<=10;i++)
{
for(int j=-10;j<=10;j++)
{
for(int k=-10;k<=10;k++)
{
if(2*j-2==j*k&&2*i+4-k==i*k)
{
cout<<i<<' '<<j<<' '<<k<<endl;
}
}
}
}
*/
int T;
cin>>T;
while(T--)
{
int n=read1();
printf("%d",-3+2*n);
for(int i=2;i<=2*n-1;i++)
{
if(i%2==0)
{
printf(" 2");
}
else
{
printf(" -1");
}
}
printf(" 1\n");
}
return 0;
}