上次发错了,发成机房巨佬的啦!
code
#include<bits/stdc++.h>
#define it vector<int>::iterator
#define int long long
using namespace std;
const int N=1e5+10;
int t;
vector<int>cnt[N];
int n,p;
signed main(){
cin>>t;
while(t--){
cin>>n>>p;
for(int i=1;i<=n;i++){
cnt[i%p].push_back(i);
}
for(int i=0;i<=n;i++){
while(cnt[i].size()&&cnt[p-i].size()){
it j=cnt[i].begin(),k=cnt[p-i].begin();
if(i!=p-i){cout<<*j<<" "<<*k<<" ";cnt[i].erase(j),cnt[p-i].erase(k);}
else {cout<<*j<<" ";cnt[i].erase(j);}
}
}
for(int i=0;i<=n;i++){
while(cnt[i].size()){
cout<<*cnt[i].begin()<<" ";
cnt[i].erase(cnt[i].begin());
}
}cout<<endl;
}
return 0;
}
10pts