#30254: 直接算當前的點是true還是false


jojojo22845@gmail.com (lu)

學校 : 國立臺灣大學
編號 : 190663
來源 : [140.112.229.2]
最後登入時間 :
2023-06-07 10:38:04
a249. 00679 - Dropping Balls -- UVa679 | From: [101.9.238.206] | 發表日期 : 2022-05-11 11:51

#include<stdio.h>
#include<math.h>
void outCome(int depth, int num);

int main(){
int testNum = 0;
scanf("%d", &testNum); // 決定有幾組測試資料
int depth = 0, num = 0; // 深度和球編號;
for(int i = 1; i <= testNum; i++){
scanf("%d %d", &depth, &num);
outCome(depth, num);
}
return 0;
}

void outCome(int depth, int num){
int outCome = 1 , countF = 0, countT =0;
while(depth > 1){
countT = (num) / 2; //算一下當前 node TF 轉換了幾次
countF = (num) - countT;
if(countT >= countF){ // 當前是 T
outCome = 2 * outCome + 1; // to the right node
num = countT;
}
else{ // 當前是 F
outCome *= 2; // to the left node
num = countF;
}
depth--;
}
printf("%d\n", outCome);

}
//直接算每個點有幾個球經過 以及現在的狀態
 
#30255: Re: 直接算當前的點是true還是false


jojojo22845@gmail.com (lu)

學校 : 國立臺灣大學
編號 : 190663
來源 : [140.112.229.2]
最後登入時間 :
2023-06-07 10:38:04
a249. 00679 - Dropping Balls -- UVa679 | From: [101.9.238.206] | 發表日期 : 2022-05-11 11:53

 

https://github.com/luyan0422/ProblemSolving/blob/main/zerojudge/UVa/00679%20-%20Dropping%20Balls.c

 
ZeroJudge Forum