rt,我也不知道为什么,就是Subtask1过不了,我知道我这个做法对于大数肯定过不了,那为何1<=N<=5的测试点都过不了?
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int BinTree[10000010],Seq[10000010],T,N,K,P=1;
string str;
inline void build(int u,int lev){
if (u>=pow(2,N)) return;
int op = str[lev-1]-'0';
BinTree[u<<1] = (op%2?0:1);
BinTree[u<<1|1] = BinTree[u<<1]^1;
build(u<<1,lev+1),build(u<<1|1,lev+1);
}
inline void Mid(int u){
if (u>=pow(2,N)) return;
Mid(u<<1);
Seq[P++] = BinTree[u];
Mid(u<<1|1);
}
int main(){
cin >> T;
while (T--){
cin >> N >> K >> str;
build(1,1);
Mid(1);
cout << (Seq[K]?"Up":"Down") << endl;
}
return 0;
}