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才...