對於這個問題http://www.codechef.com/COOK49/problems/SHOOTING/。我無法解決它,所以我遵循這個解決方案http://www.codechef.com/viewsolution/4619933。你能不能介紹這些步驟爲什麼我們使用按位運算符?
int laserNo = lasers.size();
int upLasers = 1 << laserNo;
boolean found = false;
for (int u=0; u<upLasers; u++) {
for (int bit=0; bit<laserNo; bit++) {
if ((u&(1<<bit)) != 0) {
Point laser = lasers.get(bit);
爲什麼我們使用按位運算符?
你能更清楚你不明白的零件嗎? – Pshemo 2014-10-07 20:40:36
爲什麼人們普遍使用按位運算符?或爲解決問題?還是你想知道這個代碼究竟發生了什麼? – 2014-10-07 20:41:02
我們使用按位運算符,因爲它們可以讓我們有效地使用整數值的所有位。 – 2014-10-07 20:42:50