1. 程式人生 > >Problem A: 開寶箱 (最沙雕的做法)(未用指標做)

Problem A: 開寶箱 (最沙雕的做法)(未用指標做)

Description

急先鋒是一個商人,有一天找到了一個寶箱,寶箱需要正確的密碼才能開啟。同時他發現寶箱上有一個數字,和一份密碼錶。密碼錶上有n個密碼,只有一個密碼是正確的。

急先鋒所在的島上有m個地點,每個地點有兩個神祕的數字。他通過交易得到每個地點上擁有的資訊,也知道這個寶箱上的數字是一個地點的標號x。急先鋒需要先到x號地點,x號地點上的第一個數字就是他要去的最終地點的標號,最終的地點上的第二個數字就是密碼在密碼錶上的序號。急先鋒想要知道開啟這個寶箱的密碼,聰明的你能不能直接告訴他呢?

 

Input

第一行兩個數字n,m.(1<=n,m<=20)

接下來n個數字ai表示密碼錶上序號1到序號n的密碼分別是多少。(1 <=ai<=100)

接下來m行每行兩個數字u,v。(1 <= u<=m,1<= v <=n)

然後給你一個T,表示T次詢問。(1<=T<= 20)

接下來的T行每行一個x,表示寶箱上的數字。(1<=x<=m)

 

Output

一共T行。每行一個數字表示最後的密碼。

 

Sample Input

5 4
1 2 3 4 5
2 4
3 3
1 2
2 5
2
1
2

Sample Output

3
2
#include<stdio.h>
int main(void)
{
    int n,m,x;
    int T;
    scanf("%d%d",&n,&m);
    int i,j,k,v,p,a[100],b[100][100];
    for(p=0;p<n;p++)
    {
        scanf("%d",&a[p]);
    }
    for(i=0;i<m;i++)
    for(j=0;j<2;j++)
    {
        scanf("%d",&b[i][j]);
    }
    scanf(
"%d",&T); while(T--) { scanf("%d",&x); k=b[x-1][0]; v=b[k-1][1]; printf("%d\n",a[v-1]); } return 0; }