基礎練習 codevs1506 傳話題解

2021-07-02 20:50:28 字數 1183 閱讀 4597

題目描述 description

乙個朋友網路,如果a認識b

,那麼如果

a第一次收到某個訊息,那麼會把這個訊息傳給

b,以及所有

a認識的人。

如果a認識b

,b不一定認識a。

所有人從1到n

編號,給出所有「認識」關係,問如果

i發布一條新訊息,那麼會不會經過若干次傳話後,這個訊息傳回給了i,

1<=i<=n。

輸入描述 input description

第一行是n和m

,表示人數和認識關係數。

接下來的m

行,每行兩個數a和

b,表示a認識

b。1<=a, b<=n

。認識關係可能會重複給出,但一行的兩個數不會相同。

輸出描述 output description

一共n行,每行乙個字元t或

f。第i行如果是

t,表示

i發出一條新訊息會傳回給

i;如果是

f,表示

i發出一條新訊息不會傳回給i。

樣例輸入 sample input

4 61 22 3

4 13 1

1 32 3

樣例輸出 sample output t

ttf

資料範圍及提示 data size & hint

n<=1000

1<=a, b<=n

不知道為什麼那麼多人都說bfs和dfs 或許吧 但是有人超時 其實這個顯然就是傳遞閉包啊

由於code出問題了 直接上**

//codevs1506 ´«»° ´«µý±õ°ü

#include#includeusing namespace std;

const int maxn=1000+10;

int n,m,a,b;

bool map[maxn][maxn];

int main()

for (int k=1;k<=n;k++)

for (int i=1;i<=n;i++)

for (int j=1;j<=n;j++)

for (int i=1;i<=n;i++)

return 0;

}

——一往情深深幾許,深山夕照深秋雨

SICP練習 150 練習4 6

這道題須要我們將let表示式轉換成對應的表示式。let 從上面的演示樣例我們能夠看到在let表達中。如果其為expr。用cdr能夠得到 然後再用高階函式map搭配car來取出所有的var。相同的,如果要取出exp部分,先用cadr,再用高階函式map搭配cadr。而body部分用caddr就能夠直接...

SICP練習 150 練習4 6

這道題需要我們將let表示式轉換成相應的表示式。let 從上面的示例我們可以看到在let表達中,假設其為expr,用cdr可以得到 然後再用高階函式map搭配car來取出所有的var。同樣的,如果要取出exp部分,先用cadr,再用高階函式map搭配cadr。而body部分用caddr就可以直接求出...

基礎練習 搜尋 codevs1008 選數題解

題目描述 description 已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 ...