数学性质题

1.取模+交互题   Chocolate Bunny

思路:

#include <stdio.h>
int a[10001];
main()
{
    register int n;
    scanf("%d", &n);
    for (register int i = 1, x, y; i <= n; ++i)
        if (!a[i])
            for (register int j = 1; j <= n; ++j)
                if (!a[j] && i != j) // 不浪费询问次数,只询问不确定值的a[i]和a[j];i=j肯定不能询问
                {
                    printf("? %d %d\n? %d %d\n", i, j, j, i);
                    fflush(stdout);
                    scanf("%d%d", &x, &y);
                    if (x < y)
                        a[j] = y;
                    else
                    {
                        a[i] = x;
                        break;
                    }
                }
    printf("! ");
    for (register int i = 1; i <= n; ++i)
        if (a[i])
            printf("%d ", a[i]);
        else
            printf("%d ", n); // 一个奇怪的地方,在下面解释
    fflush(stdout);
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值