想了好久QAQ
#include<bits/stdc++.h>
using namespace std;
int t,n,p;
struct node
{
int id,val;
}a[1000001];
bool cmp(node x,node y)
{
return x.val<y.val;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n>>p;
if(p>2*n)
{
for(int i=1;i<=n;i++)cout<<i<<' ';
cout<<endl;
}
else
{
for(int i=1;i<=n;i++)
a[i].val=i%p,a[i].id=i;
sort(a+1,a+1+n,cmp);
int sum=0;
for(int i=1;i<=n;i++)
if(a[i].val==0)
cout<<a[i].id<<' ';
for(int i=1;i<=n;i++)
{
if(a[i].val==0)
continue;
cout<<a[i].id<<" ";
if(a[i].id==a[n-sum].id)break;
cout<<a[n-sum].id<<' ';
sum++;
}
cout<<endl;
}
}
return 0;
}