/*************************************************
* 2012/05/09
* AOJ Volume0 0011 Drawing Lots
* Input:縦線の本数w(整数:w≦30)
* 横棒の本数n(整数:n≦30)
* 横棒リストa1,b1(整数:半角カンマ区切り)
* Output:
* 左から右に、
* 1番目の棒に来る数字
*
* w番目の棒に来る数字
**************************************************/
#include<algorithm>
#include<iostream>
#include<cstdio>
const int MAX_N = 30;
int w; //縦線の本数(w≦30)
int n; //横棒の本数(n≦30)
std::pair<int,int> in[MAX_N]; //横棒リストan,bn
int line[MAX_N+1];
void swap(int x, int y); //入れ替え
void solve(); //あみだくじの実行
int main(){
std::cin >> w; //(input)縦棒の本数
std::cin >> n; //(input)横棒の本数
for(int i=1; i<=w; i++)//あみだくじ縦棒作成
line[i] = i;
for(int i=0; i<n; i++){ //(input)横棒リスト
scanf("%d,%d", &in[i].first,&in[i].second);
}
solve(); //あみだくじ実行
for(int i=1; i<=w; i++){
std::cout << line[i] << std::endl;
}
return 0;
}
void solve(){ //あみだくじ実行
for(int i=0; i<n; i++){
swap(in[i].first, in[i].second);
}
}
void swap(int x, int y){//入れ替え作業
int tmp = line[x];
line[x] = line[y];
line[y] = tmp;
}
0 件のコメント:
コメントを投稿