U425195 Numb

题目背景

[Baekjoon - 19083](https://www.acmicpc.net/problem/19083)。

题目描述

给你一个偶数 $n$,求一个二进制数 $x=\overline {a_1 a_2 \dots a_n}$,满足: 1. $x \equiv 0 \pmod{n}$; 1. $\forall i \in [1, n]$,$\overline {a_1 a_2 \dots a_i} \bmod n$ 互不相同; 1. 不含有前导 $0$。

输入格式

第一行一个数 $T$,表示数据组数。 接下来 $T$ 行,每行一个偶数 $n$。

输出格式

共 $T$ 行,一行一个 $01$ 串表示答案。若有多组解,输出任意即可。

说明/提示

本题设置 Subtask,你只有通过整个 Subtask 才能拿到对应分数。 | 测试点编号 | $T$ | $n$ | 分值 | | :----------- | :----------- | :----------- | :----------- | | $1\sim5$ | $10$ | $\leq10^3$ | $10$ | | $6\sim25$ | $800$ | $\leq10^4$ | $20$ | | $26\sim40$ | $25$ | $\leq10^6$ | $30$ | | $41\sim50$ | $5$ | $\leq6\times10^6$ | $40$ | 对于 $100\%$ 的数据,$T \leq 800$,$n \leq 6\times10^6$,保证 $n$ 为偶数,且一定有解。 请换用更快的输出方式,如 `putchar`。 放出 checker.cpp。 ```cpp #include "testlib.h" #include signed main(int argc, char* argv[]) { registerTestlibCmd(argc, argv); int t = inf.readInt(); while (t--) { int n = inf.readInt(); std::vector vis(n, false); std::string str = ouf.readLine(); if (int(str.length()) != n) quitf(_wa, "You're too long or too short!"); for (int i = 1, now = 0; i