結果
問題 | No.24 数当てゲーム |
ユーザー |
|
提出日時 | 2014-11-24 19:36:41 |
言語 | JavaScript (node v23.5.0) |
結果 |
AC
|
実行時間 | 66 ms / 5,000 ms |
コード長 | 1,047 bytes |
コンパイル時間 | 63 ms |
コンパイル使用メモリ | 6,688 KB |
実行使用メモリ | 39,424 KB |
最終ジャッジ日時 | 2024-10-12 23:32:47 |
合計ジャッジ時間 | 1,313 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
// http://yukicoder.me/submissions/3556 function Main(input) { var inputArr = input.split('\n'), reply, i, j, turn_num, num = turn = 0, answer = mask = ~0; // ビット反転 turn_num = inputArr[0]; for(i = 0; i < turn_num; i++) { turn = 0; for(j = 0; j < 4; j++) { num = inputArr[(i+1)].split(' ')[j]; num = 1 << num; // 1をnumだけ左にシフト turn |= num; } reply = inputArr[(i+1)].split(' ')[4]; answer &= (reply == "NO") ? ~turn : turn; } // turnのビットを反転~させると答えに関係ない // 上位ビットが全て1になる。そのためマスクで消す。 mask <<= 10; answer ^= mask; // answerとmaskで異なるビットだけを残す for(i=0; i < 10; i++) { // 最下位ビットが1の時iが答え if (answer & 1==1) break; else answer >>= 1; // 1ビット右にシフト } console.log(i); } // Don't edit this line! Main(require("fs").readFileSync("/dev/stdin", "utf8"));