GCJ2010 Qualification Round A Snapper Chain
少しボケーとしていると更新を忘れてしまう….そしてPythonはいまだ慣れず.早くなれたいんだけどなぁ.ということでGCJ2010のQRの問題を解いてみる.
問題
Snapperという機械の問題.
- 電力の入力プラグと出力プラグがON/OFFスイッチがある.
- 電気が来ているときに指を鳴らすとスイッチのON/OFFが切り替わる.
- 電気が来ていてかつスイッチがONだと出力から次に電力を供給する
このSnapperを繋いでいったときに,K回スナップしたとき,末端の電力供給状態はONかOFFかという問題.
プログラム
import java.io.*; import java.util.*; public class QR_01_2010 { public void doMain() throws Exception { Scanner sc = new Scanner(new FileReader("./input/2010_QR_A-large-practice.in")); PrintWriter pw = new PrintWriter(new FileWriter("./output/Q01_2010output.txt")); int T = sc.nextInt(); for (int t=0; t < T; t++) { int N = sc.nextInt(), K = sc.nextInt(); int n = (1<<N) - 1; pw.print("Case #" + (t+1) + ": "); pw.println((K & n) == n ? "ON" : "OFF"); } pw.flush(); pw.close(); sc.close(); } public static void main(String[] args) throws Exception { (new QR_01_2010()).doMain(); } }
こいつは法則性を見つければそんなに難しくないですね.