codeforces1407C Chocolate Bunny
生活随笔
收集整理的這篇文章主要介紹了
codeforces1407C Chocolate Bunny
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
https://codeforces.com/contest/1407/problem/C
因?yàn)槭?-n的排列,那么如果pi%pj<pj%pi,那么一定是pj=pj % pi,每次隨便找兩個(gè)沒(méi)確定的數(shù)字比較一下,一共2*(n-1)次詢問(wèn)就能找出1-n-1.
#include<bits/stdc++.h> using namespace std; typedef long long ll;const int maxl=3e5+10;int n,m,cnt,tot,cas,ans; int a[maxl]; bool vis[maxl],numin[maxl]; char s[maxl];inline void prework() {scanf("%d",&n); }inline int print(int u,int v) {int x;printf("? %d %d\n",u,v);fflush(stdout);scanf("%d",&x);return x; }inline void mainwork() {if(n==1){printf("! 1");fflush(stdout);return;}int t1,t2,last=1,now;for(int i=1;i<=n-1;i++){for(int j=1;j<=n;j++)if(!vis[j] && last!=j){now=j;break;}t1=print(last,now);t2=print(now,last);if(t1>t2){vis[last]=true;numin[t1]=true;a[last]=t1;last=now;}else{vis[now]=true;numin[t2]=true;a[now]=t2;last=last;}}for(int i=1;i<=n;i++)if(!vis[i])a[i]=n;printf("!");for(int i=1;i<=n;i++)printf(" %d",a[i]);fflush(stdout); }int main() {int t=1;//scanf("%d",&t);for(cas=1;cas<=t;cas++){prework();mainwork(); }return 0; }?
總結(jié)
以上是生活随笔為你收集整理的codeforces1407C Chocolate Bunny的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ddr ram_支持的DDR4 RAM存
- 下一篇: OR-CAD CAPTURE学习笔记——