首页 > 其他 > 详细

【数学】CF1407C - Chocolate Bunny

时间:2020-09-19 20:52:56      阅读:18      评论:0      收藏:0      [点我收藏+]

标签:++   比较   lse   oid   ==   ()   

因为假如a<b,则a%b==a,且b%a!=a&&b%a!=b可以通过这个方法每次构造出较小的一个。然后每次把任意两个未知的拿出来互相比较一下都可以确认其中一个。

const int MAXN = 10000 + 5;
 
int n;
int ans[MAXN];
 
int query(int x, int y) {
    cout << "? " << x << " " << y << endl;
    int res;
    cin >> res;
    return res;
}
 
void solve() {
    cin >> n;
    int mx = 1;
    for(int i = 2; i <= n; ++i) {
        int a = query(i, mx);
        int b = query(mx, i);
        if(a < b) {
            ans[mx] = b;
            mx = i;
        } else {
            ans[i] = a;
        }
    }
    ans[mx] = n;
    cout << "!";
    for(int i = 1; i <= n; ++i)
        cout << " " << ans[i];
    cout << endl;
    return;
}

【数学】CF1407C - Chocolate Bunny

标签:++   比较   lse   oid   ==   ()   

原文:https://www.cnblogs.com/purinliang/p/13697392.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号