1 条题解
-
0
C++ :
#include <cstdio> #include <cstring> #include <iostream> using namespace std ; int res1 , res2 , res3 ; void dfs( int n , int from , int to , unsigned long long m ) { unsigned long long MID = ( ( unsigned long long )1 << ( n - 1 ) ) ; if( m < MID ) dfs( n - 1 , from , 6 - from - to , m ) ; else if( m > MID ) dfs( n - 1 , 6 - to - from , to , m - MID ) ; else { res1 = n ; res2 = from ; res3 = to ; } } int main() { int T ; scanf("%d" , &T ) ; while( T -- ) { int n ; unsigned long long m ; cin>>n>>m ; dfs( n , 1 , 3 , m ) ; printf("%d %d %d\n" , res1 , res2 , res3 ) ; } return 0 ; }
- 1
信息
- ID
- 695
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者