Topcoder Member SRM482 "LockersDivTwo"

問題;http://www.topcoder.com/stat?c=problem_statement&pm=11111 (要ログイン)

Practice参加.

import java.util.BitSet;

public class LockersDivTwo {

	public int lastOpened(int N) {
		BitSet set = new BitSet();
		int r = 0;
		for(int n=1; n <= N; ++n){
			for(int i=set.nextClearBit(0);i<N;){
				set.set(r=i);
				for(int k=0;k<n+1;++k){
					i=set.nextClearBit(i+1);
				}
			}
		}
		return r+1;
	}

}