186892025-10-30 21:34:48algoproTaláld ki a permutációt!pypy3Belső hiba
# UUID: 7c3fa080-adae-46c8-8eb0-4b52dacce515
import sys
def ask(a, b):
    print(f"? {a} {b}", flush=True)
    ans = int(input())
    return ans

def main():
    n = int(input())
    msb = [0] * (n + 1)
    sol = [0] * (n + 1)
    
    maxim = 0
    for i in range(1, n + 1):
        x = ask(i, i)
        msb[i] = x
        maxim = max(maxim, msb[i])
    
    for bit in range(maxim + 1):
        who = 0
        for i in range(1, n + 1):
            if msb[i] == bit:
                who = i
                break
        for i in range(1, n + 1):
            x = ask(who, i)
            if x == bit:
                sol[i] += (1 << bit)
    
    print("! ", end="")
    for i in range(1, n + 1):
        print(sol[i], end=" ")
    print()

if __name__ == "__main__":
    main()