COGS 619 傳話 解題報告

2021-07-13 02:47:29 字數 1143 閱讀 1279

janis

[問題描述]

興趣小組的同學來自各個學校,為了增加友誼,晚會上又進行了乙個傳話遊戲,如果 a 認識 b ,那麼 a 收到某個訊息,就會把這個訊息傳給 b ,以及所有 a 認識的人。

如果 a 認識 b , b 不一定認識 a 。

所有人從 1 到 n 編號,給出所有「認識」關係,問如果 i 發布一條新訊息,那麼會不會經過若干次傳話後,這個訊息傳回給了 i , 1<=i<=n 。

[輸入檔案]

輸入檔案 message.in 中的第一行是兩個數 n(n<1000) 和 m(m<10000) ,兩數之間有乙個空格,表示人數和認識關係數。

接下來的 m 行,每行兩個數 a 和 b ,表示 a 認識 b 。 1<=a, b<=n 。認識關係可能會重複給出,但一行的兩個數不會相同。

[輸出檔案]

輸出檔案 message.out 中一共有 n 行,每行乙個字元 t 或 f 。第 i 行如果是 t ,表示 i 發出一條新訊息會傳回給 i ;如果是 f ,表示 i 發出一條新訊息不會傳回給 i 。

[輸入樣例]

4 6

1 2

2 3

4 1

3 1

1 3

2 3

[輸出樣例]

t t t f

思路:

其實就是找i是否在環上

存圖用vector,用乙個陣列vis儲存訪問標記,再bfs確認是否有環。

**:

#include

#include

#include

#include

#include

#define cogs

using

namespace

std;

const

int maxn=1000+1;

int m,n;

int vis[maxn];

vector

g[maxn];//vector存圖

void init()

}bool bfs(int s)}}

return vis[s];//是否有環

}void work()

COGS 2505 選舉 解題報告

你知道這次開會的內容嗎?會場中,mike問座位旁一臉嚴肅的marvolo。據說是要舉行一次投票 投票?要選舉新一屆領導核心了?好像是的 marvolo一臉期待的說,聽說這次有乙個強勁的候選人呢,好像叫eric 你這麼早就這樣說,會不會給人一種欽定的感覺?marvolo提前知道了這一次開會的目的,是選...

COGS 452 Nim遊戲!解題報告

甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子 每堆石子數量小於10000 每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。數學題!用到...

COGS383 單向雙軌道解題報告

做這道題的時候沒有認真思考,以為跟雙棧排序一樣然後就蛋疼了,蛋疼了好久才發現原來不一樣!由於可以從棧a到棧b,所以在棧a中的元素是不一定有序的,而棧b中的元素才是一定有序的 我一開始誤以為了二者均是有序的。這道題顯然應該是dfs id,我卻一上來就寫了個bfs,導致爆掉了。dfs id的上限3 n才...