AtCoder Regular Contest #002

A - うるう年

問題: http://arc002.contest.atcoder.jp/tasks/arc002_1

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		GregorianCalendar c = new GregorianCalendar();
		c.setGregorianChange(new Date(Long.MIN_VALUE));
		System.out.println(c.isLeapYear(s.nextInt()) ? "YES" : "NO");
	}
}

B - 割り切れる日付

問題: http://arc002.contest.atcoder.jp/tasks/arc002_2

import java.util.*;

import static java.util.Calendar.*;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(new Scanner(System.in).next().replaceAll("/"," "));
		GregorianCalendar c = new GregorianCalendar();
		c.setGregorianChange(new Date(Long.MIN_VALUE));
		c.set(s.nextInt(), s.nextInt() - 1, s.nextInt());
		while (!(c.get(YEAR)%(c.get(MONTH)+1)==0&&c.get(YEAR)/(c.get(MONTH)+1)%c.get(DATE)==0)) {
			c.add(DATE, 1);
		}
		System.out.printf("%d/%02d/%02d\n", c.get(YEAR), c.get(MONTH) + 1, c.get(DATE));
	}
}

C - コマンド入力

問題: http://arc002.contest.atcoder.jp/tasks/arc002_3

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		String line = s.next();
		List<String> list = new ArrayList<String>();
		for (String u : new String[] { "A", "B", "X", "Y" }) {
			for (String v : new String[] { "A", "B", "X", "Y" }) {
				list.add(u + v);
			}
		}
		int min = Integer.MAX_VALUE;
		for (int i = 0; i < list.size(); ++i) {
			for (int j = 0; j < list.size(); ++j) {
				min = Math.min(min, line.replaceAll(list.get(j), "R").replaceAll(list.get(i), "L").length());
			}
		}
		System.out.println(min);
	}
}