CF1831A Twin Permutations

#include<bits/stdc++.h> using namespace std; typedef long long ll; void tc(){ ll n; cin>>n; for(ll i=0;i<n;i++){ ll x; cin>>x; cout<<n+1-x<<' '; } cout<<'\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); ll t; cin>>t; while(t--) tc(); return 0; }

#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<bits/stdc++.h> #define ll long long #define ddd printf("-----------------debug\n"); using namespace std; int n; int a[200],b[200],used[200],pd; void dfs(int dep) { if(pd) return; if(dep==n+1) { int flag=0; for(int i=2;i<=n;i++) { if(b[i]+a[i]<b[i-1]+a[i-1]) flag=1; } if(flag==0) { for(int i=1;i<=n;i++) cout<<b[i]<<" "; cout<<'\n'; pd=1; return;} } for(int i=1;i<=n;i++) { if(used[i]==0) { b[dep]=i; used[i]=1; dfs(dep+1); b[dep]=0;used[i]=0; } } } int main() { ios::sync_with_stdio(false);cin.tie(0); int T; cin>>T; while(T--) { memset(b,0,sizeof(b)); memset(used,0,sizeof(used)); pd=0; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; // for(int i=1;i<=n;i++) cout<<a[i]; dfs(1); cout<<'\n'; } return 0; }