【构造】CF1758 C
Problem - 1758C - Codeforces
题意:
思路:
思路:
#include <bits/stdc++.h>#define int long longusing namespace std;const int mxn=2e5+10;
const int mxe=2e5+10;int N,x;
int ans[mxn];void solve(){cin>>N>>x;if(N%x!=0){cout<<-1<<'\n';return;}ans[x]=N;ans[1]=x;ans[N]=1;for(int i=2;i<=N-1;i++){if(i!=x) ans[i]=i;}for(int i=x+1;i<=N-1;i++){if((ans[i]%x==0)&&(N%i==0)){swap(ans[i],ans[x]);x=i;}}for(int i=1;i<=N;i++) cout<<ans[i]<<" \n"[i==N];
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;cin>>__;while(__--)solve();return 0;
}