超时代码
#pragma warning(disable:4996)
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<vector>
#include<algorithm>
#include<iostream>
#include<time.h>
#include<set>
#include<sstream>
#include<functional>
#include<cassert>
#include<list>
#include<iterator>
#include<utility>
#include <stdexcept>
#include <sstream>
#include <fstream>
#include<ctype.h>
#include<map>
#include<stack>
#include<queue>
#include<cstdlib>
using namespace std;
int tree[1<<22];
int main()
{
int num, ball;
int T;
while (cin >> T)
{
if (T == -1)
return 0;
while (T--)
{
while (cin >> num >> ball)
{
memset(tree, 0, sizeof(tree));
int final = 1 << (num - 1);
while (ball--)
{
int i = 1;
while (i < final)
{
int temp = i;
if (tree[i] == 0)
{
i = 2 * i;
}
else
{
i = 2 * i + 1;
}
tree[temp] = !tree[temp];
}
if (ball == 0)
cout << i << endl;
}
}
}
}
return 0;
}
这里写代码片