Codeforces #43 A "Ball Game"
問題:http://codeforces.com/contest/46/problem/A
参加形式:本番
円上に人がいて,一定の間隔の隣の人にボールを渡す.その間隔はk回目の試行のときにk-1人を間に挟む.n人いたときにn-1回の試行を行ったときのボールが渡った人のパスを求める.
1〜nの数字をリストに入れてCollections.rotate()で回してパスを求めた.
import java.util.*; public class A_BallGame { public static void main(String[] args) { int n = new Scanner(System.in).nextInt(); List<Integer> list = new ArrayList<Integer>(); for(int i = 1; i <= n; ++i){ list.add(i); } StringBuilder sb = new StringBuilder(); for(int i = 1; i < n; ++i){ Collections.rotate(list, -i); sb.append(list.get(0)+" "); } System.out.println(sb.toString().trim()); } }