題目20 吝嗇的國度

2022-09-23 08:09:07 字數 2277 閱讀 7616

吝嗇的國度

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:3

描述在乙個吝嗇的國度裡有n個城市,這n個城市間只有n-1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市(假設你不走重複的路)。 

輸入第一行輸入乙個整數m表示測試資料共有m(1<=m<=5)組

每組測試資料的第一行輸入乙個正整數n(1<=n<=100000)和乙個正整數s(1<=s<=100000),n表示城市的總個數,s表示參觀者所在城市的編號

隨後的n-1行,每行有兩個正整數a,b(1<=a,b<=n),表示第a號城市和第b號城市之間有一條路連通。

輸出每組測試資料輸n個正整數,其中,第i個數表示從s走到i號城市,必須要經過的上乙個城市的編號。(其中i=s時,請輸出-1)

樣例輸入

110 1

1 91 8

8 10

10 3

8 61 2

10 4

9 53 7

樣例輸出

-1 1 10 10 9 8 3 1 1 8

**經典題目  

[cpp]

********************************* 

*   日期:2013-3-26 

*   作者:sjf0115 

*   題號: 題目20: 吝嗇的國度 

*   **: 

*   結果:ac 

*   **:南陽理工oj 

*   總結: 

**********************************/  

#include   

#include   

#include   

#include   

using namespace std;  

vector g[100001];  

int precity[100001];  

int vis[100001];  

//深搜   

void dfs(int location)  

}  }     

int main ()  

//輸入路徑   

for(i = 1;i < city;i++)  

//訪問城市   

memset(vis,0,sizeof(vis));  

vis[location] = 1;  

precity[location] = -1;  

dfs(location);  

//輸出訪問城市的上一站   

first = 1;  

for(i = 1;i <= city;i++)  

else  

printf("%d",precity[i]);  

}  printf("\n");  

}  return 0;  

}    

/*********************************

*   日期:2013-3-26

*   作者:sjf0115

*   題號: 題目20: 吝嗇的國度

*   **:

*   結果:ac

*   **:南陽理工oj

*   總結:

**********************************/

#include

#include

#include

#include

using namespace std;

vector g[100001];

int precity[100001];

int vis[100001];

//深搜

void dfs(int location)}}

int main ()

//輸入路徑

for(i = 1;i < city;i++)

//訪問城市

memset(vis,0,sizeof(vis));

vis[location] = 1;

precity[location] = -1;

dfs(location);

//輸出訪問城市的上一站

first = 1;

for(i = 1;i <= city;i++)

else

printf("%d",precity[i]);

}printf("\n");

}return 0;} 

題目20 吝嗇的國度

在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 第一行輸入乙個整數m表示測試資料共有m 1 m 5 組 每組測試資料的第一行輸入乙個正整數...

NYOJ 題目20 吝嗇的國度

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 輸入第一行輸入乙個...

nyoj20 吝嗇的國度

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 輸入第一行輸入乙個...