B 紫魔法師 dfs

2021-09-12 02:30:26 字數 934 閱讀 8334

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

「サーヴァント、キャスター、medea。」--紫魔法師

給出一棵仙人掌(每條邊最多被包含於乙個環,無自環,無重邊,保證連通),要求用最少的顏色對其頂點染色,滿足每條邊兩個端點的顏色不同,輸出最小顏色數即可

第一行包括兩個整數n,m,表示頂點數和邊數

n <= 100000, m <= 200000

接下來m行每行兩個整數u,v,表示u,v之間有一條無向邊,保證資料合法

一行乙個整數表示最小顏色數
示例1

3 4

1 22 3

3 41 4

2
#includeusing namespace std;

typedef long long ll;

const int maxn=1e5+5;

int n,m,color[maxn],k=1;

vectormp[maxn];

void dfs(int v,int c)

if(color[mp[v][i]]==-c) continue;

color[mp[v][i]]=-c;

dfs(mp[v][i],-c);

}}int main()

color[1]=1;

dfs(1,1);

if(n==1)

printf("1\n");

else if(k==1)

printf("2\n");

else printf("3\n");//存在奇數環

}

最強魔法師

description 每一次魔法矩陣施展魔法時,總是由矩陣中魔法力最強的魔法師率先發起,現有乙個a行b列的矩陣,要求程式設計序找出其中魔法力最強的學員及所在的行號和列號 input 有多組資料,第一行乙個正整數t t 100 表示輸入資料組數,接下來有t組輸入資料,每組資料佔a 1行,第一行包含兩...

黑魔法師之門

給出乙個大小為 n 的無向圖,求圖中每個點的度數大於零且都是偶數的子圖的個數。子圖不一定是聯通的!則設圖中最小環 不由其它環組成的環 的個數為 x 如果同一聯通塊中的點再次聯通,就構成了乙個新的最小環。因為這些環選與不選都可構成新子圖,於是 ans 2 x 1 去掉乙個環都不選的情況 include...

藍魔法師 樹形DP

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 你,你認錯人了。我真的,真的不是食人魔。藍魔法師 給出一棵樹,求有多少種刪邊方案,使得刪後的圖每個連通塊大小小於等於k,兩種方案不同當且僅當存在一條邊在乙個方案中被...