題目連結:
題目大意:
現在有一種感測器會隨時間量測電壓值的變化,當訊號為 0 時,代表電壓值低於門檻值;訊號為 1 時,代表電壓值高於門檻值。且每 32 次的電壓值後,會將其轉為一個十進位數字輸出,也因此該數值會介於 0 ~ 4294967295 之間。
輸入只有一列,第一個數字為兩個感測器 A 、 B 各自輸出的訊號數量。接著就有相應數量的、兩數字一組的十進位數字,代表感測器 A 、 B 各自量測到的訊號值。
試問在這些輸出,總共有多少次量測值中,感測器 A 量到低於門檻值的電壓值(即訊號為 0)且感測器 B 量到高於門檻值的電壓值(即訊號為 1)?
範例輸入:
範例輸入 #1
3 17 17 256 257 9 9
範例輸入 #2
1 2147487745 3190026786
範例輸入 #3
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
範例輸出:
範例輸出 #1
1
範例輸出 #2
14
範例輸出 #3
2
解題思維:
就是對於每個訊號,掃過 A 、 B 兩個訊號的所有位元(32 位元),然後統計有多少位元符合訊號 A 為 0、訊號 B 為 1 即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。