13299 rearrange 2

                Never    
Text
       
#include <stdio.h>
#include <string.h>

int main (void){

  int i,j,k,a,b;
  int left,right;
  int line[100000]; //學生排列情形
  int ans[100000]; //學生位置
  int id[1000000]; //儲存要找的id
  int pos[1000000]; //目標id的位置
  int N,M,Q;

  scanf("%d %d %d",&N,&M,&Q);

//建立隊伍
  for ( i = 1; i <= N; i++){
    line[i] = i;
  }
//交換位置
  for ( j = 1; j<=M; j++)
  {
    scanf("%d %d",&a,&b);
    left = line[a];
    right = line[b];
    line[a] = right;
    line[b] = left;
  }



//紀錄交換後的學生位置
  for ( k = 1; k <= N ; k++)
  {
    ans[line[k]] = k;
  }


//紀錄目標id的位置
  for ( i = 1; i <= Q; i++){
    scanf("%d",&id[i]);
    pos[i] = ans[id[i]];

  }
//印出結果
  printf("%d",pos[1]);
  for ( j = 2; j <= Q ; j++)
  {
    printf(" %d",pos[j]);
  }
  printf("\n");

  return 0;

}



Raw Text