日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hdu 3478 Catch

發布時間:2023/12/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hdu 3478 Catch 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

如果出現遍歷圖中的某個點都是在奇數時刻或者偶數時刻,那么小偷的藏點就是根據時間判定在某些的奇數點和偶數點了。

如果圖出現奇數的環,即:有一個環由奇數個點組成,那么環中的某個點在奇數和偶數時刻都能到達(可以畫圖試試)。其實奇數環導致小偷藏點無規律的最大原因是:

在遍歷最后奇數環的兩個(必定是兩個)未遍歷點的時候他們是同奇(偶)的,然而還有一條邊直接相連。導致在下一時刻,那兩個點又可以同時變成偶(奇)。如果在回溯遍歷的話,就會出現整張圖在奇數時刻或者偶數時刻都能到達。

無向圖G為二部圖的充分必要條件是:
G至少有兩個頂點,且其所有回路的長度均為偶數。

如果我們把圖中奇數時刻能夠到達的點歸到X集合,偶數能到點歸到Y集合,那么如果圖中出現相同集合的點有
邊相連,那么就不滿足二分圖的性質,即可輸出YES,如果原圖可二分圖話,答案就是NO了。

然后就是經典的二分圖判定。

CODE:

?

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using?namespace?std;

const?int?MAXN?=?100010;
const?int?MAXM?=?500010;

struct?Edge
{
????int?v,?next;
}edge[MAXM];

int?n,?m,?s;
int?cnt;

int?first[MAXN];
bool?color[MAXN],?vis[MAXN];

void?init()
{
????cnt?=?0;
????memset(vis,?0,?sizeof(vis));
????memset(color,?0,?sizeof(color));
????memset(first,?-1,?sizeof(first));
}

void?read_graph(int?u,?int?v)
{
????edge[cnt].v?=?v;
????edge[cnt].next?=?first[u],?first[u]?=?cnt++;
}

int?find(int?u)
{
????for(int?e?=?first[u];?e?!=?-1;?e?=?edge[e].next)
????{
????????int?v?=?edge[e].v;
????????if(!vis[v])
????????{
????????????vis[v]?=?1;
????????????color[v]?=?!color[u];
????????????find(v);
????????}
????????else?if(color[u]?==?color[v])????return?false;
????}
????return?true;
}

int?main()
{
????int?T,?times?=?0;
????scanf("%d",?&T);
????while(T--)
????{
????????init();
????????scanf("%d%d%d",?&n,?&m,?&s);
????????while(m--)
????????{
????????????int?u,?v;
????????????scanf("%d%d",?&u,?&v);
????????????read_graph(u,?v);
????????????read_graph(v,?u);
????????}
????????printf("Case?%d:?",?++times);
????????color[s]?=?1;
????????vis[s]?=?1;
????????printf(find(s)?"NO\n":"YES\n");
????}
????return?0;
}


?

轉載于:https://www.cnblogs.com/g0feng/archive/2012/11/02/2751598.html

總結

以上是生活随笔為你收集整理的Hdu 3478 Catch的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。