kanetaiの二次記憶装置

プログラミングに関するやってみた、調べた系のものをQitaに移して、それ以外をはてブでやる運用にしようと思います。http://qiita.com/kanetai

Drawing Lots(AOJ No.0011)

Drawing Lots(AOJ No.0011)

w本の縦線とn本の横線からなるあみだくじがあり、左から1,2,....,nと番号が振られている。
横線は a_i, b_iという形式で与えられて、 a_i b_iのくじを結ぶ。
くじをした結果、ゴール左側からスタート位置を順に出力する。

横線が隣り合う位置に接続していないけどアミダというのか?

コード

import java.util.*;
public class aoj0011 {
	static final Scanner stdin = new Scanner(System.in);
	public static void main(String[] args) {
		int w = stdin.nextInt();
		int n = stdin.nextInt();
		int[] v = new int[w+1]; //(1からはじまる)
		for(int i=0; i < w+1; ++i) v[i]=i;
		for(int i=0; i < n; ++i){
			String[] str = stdin.next().split(",");
			swap(v, Integer.parseInt( str[0] ), Integer.parseInt( str[1] ));
		}
		for(int i=1; i < w+1; ++i) System.out.println( v[i] );
	}
	public static final int[] swap(int[] x, int i, int j){
		int tmp = x[i]; x[i] = x[j]; x[j] = tmp; return x;
	}
}