#include <stdio.h>
typedef long long ll;
int main() {
int k , j , l;
scanf("%d",&k);
for(int i = 0; i < k; i++) {
ll n , m , s , t;
scanf("%lld%lld",&n,&m);
s = 1;
t = 2;
for(l = 1; l <= n; l++) {
if(m%t == s) {
break;
}
s = t;
t *= 2;
}
printf("%d",l);
j = m/t;
if(n % 2 == l % 2) {
if((j + 1)%3 == 0) printf("2 1\n");
if((j + 1)%3 == 1) printf("1 3\n");
if((j + 1)%3 == 2) printf("3 2\n");
}
else {
if((j + 1)%3 == 0) printf("3 1\n");
if((j + 1)%3 == 1) printf("1 2\n");
if((j + 1)%3 == 2) printf("2 3\n");
}
}
return 0;
}汉诺塔 hdu2511
最新推荐文章于 2020-02-24 10:20:31 发布
2992

被折叠的 条评论
为什么被折叠?



