n2n \le 2 时无解。

依次询问所有某一位为 11 而其他位为 00 的 01 串:

  • 如果结果都是 11,那么 SS 是全 00 串。
  • 如果结果都相等但不是 11,那么 SS 是全 11 串。
  • 如果结果不全相等,结果小的表明那一位为 11,大的表明那一位为 00
#include <bits/stdc++.h>
#include "binary.h"
using namespace std;
long long ans[22];
int main()
{
	int T = init();
	while (T--)
	{
		int n = start();
		if (n <= 2)
		{
			reject();
			continue;
		}
		string S = "";
		for (int i = 1; i <= n; i++)
			S += "0";
		string T = S;
		for (int i = 0; i <= n - 1; i++)
		{
			T[i] = '1';
			ans[i] = interact(T);
			T[i] = '0';
		}
		bool ok = true;
		long long p1 = 0, p2 = 9e18;
		for (int i = 0; i <= n - 1; i++)
		{
			if (ans[i] != 1) ok = false;
			p1 = max(p1, ans[i]);
			p2 = min(p2, ans[i]);
		}
		if (ok)
		{
			stop(S);
			continue;
		}
		S = "";
		for (int i = 0; i <= n - 1; i++)
		{
			if (ans[i] == p2) S += "1";
			if (ans[i] != p2) S += "0";
		}
		stop(S);
	}
	return 0;
}