題目鏈結 f 全體集合
給出\(n\)個點\(m\)條邊的無向圖,給出\(k\)個點上分別有乙個人,每個人一次只能走到乙個相鄰的節點,問有沒有一種可能讓這些人都走到乙個點。
考慮使用二分圖染色:
如果染色成功,說明這個圖是二分圖,那麼對於不同顏色的點永遠不可能走到一起,題目也說了這個圖是聯通的,所以說如果這\(k\)個點顏色相同,那麼一定可以走到一起。
如果染色不成功,那麼一定可以,因為有乙個性質,如果乙個圖沒有奇數環,那麼一定可以被染成二分圖,所以說不是二分圖就肯定存在奇數環,而存在奇數環就說明乙個點可以圍著奇數環走一圈改變顏色。
// problem: 全體集合
// contest: nowcoder
// url:
// memory limit: 524288 mb
// time limit: 4000 ms
// // powered by cp editor (
#include using namespace std;
const int n = 2e5 + 10, m = 5e5 + 10;
int h[n], e[m * 2], ne[m * 2], idx;
int a[n];
int color[n];
void add(int a, int b)
bool dfs(int u, int c) else if (color[j] == c) return false; }
return true;
}int main()
for (int i = 1; i <= k; i++) scanf("%d\n", &a[i]);
bool t = dfs(1, 1);
if (!t) puts("yes");
else
puts("");*/
for (int i = 1; i <= k - 1; i++)
} if (ok) puts("yes");
else puts("no"); }
return 0;
}
牛客小白月賽43 E
有數字 1 9,每個數字的個數分別為 cnt1,cnt2,cnt3,cnt9。計算出 滿意的集合 的個數。滿意的集合 定義 選出的數存在一種排列方式,其拼接起來後表示的十進位制整數,能被 3整除,例如集合 包含了 2 個數字 3,1 個數字 6 可以有排列 代表十進位制下的整數 633,能被 3 整...
牛客小白月賽13 F題
小a這次來到乙個景區去旅遊,景區裡面有n個景點,景點之間有n 1條路徑。小a從當前的乙個景點移動到下乙個景點需要消耗一點的體力值。但是景區裡面有兩個景點比較特殊,它們之間是可以直接坐觀光纜車通過,不需要消耗體力值。而小a不想走太多的路,所以他希望你能夠告訴它,從當前的位置出發到他想要去的那個地方,他...
牛客小白月賽3
a 我們規定母音字母有a e i o u,並且規定半母音字母y也是母音字母。cwbc在學習英語,xhrlyb為了讓cwbc的記憶更加深刻,於是她讓cwbc把每個字串的所有字母都變成乙個恰好不大於它本身的小寫母音字母。可是cwbc比較貪玩,並且他想讓你幫他完成這個任務。聰明的你在仔細閱讀題目後,一定可...