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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

(2 sat) hdu 1824

發布時間:2025/7/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (2 sat) hdu 1824 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Let's go home

Time Limit: 10000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1523????Accepted Submission(s): 616


Problem Description 小時候,鄉愁是一枚小小的郵票,我在這頭,母親在那頭。
????????????????????????—— 余光中

集訓是辛苦的,道路是坎坷的,休息還是必須的。經過一段時間的訓練,lcy決定讓大家回家放松一下,但是訓練還是得照常進行,lcy想出了如下回家規定,每一個隊(三人一隊)或者隊長留下或者其余兩名隊員同時留下;每一對隊員,如果隊員A留下,則隊員B必須回家休息下,或者B留下,A回家。由于今年集訓隊人數突破往年同期最高記錄,管理難度相當大,lcy也不知道自己的決定是否可行,所以這個難題就交給你了,呵呵,好處嘛~,免費**漂流一日。

?

Input 第一行有兩個整數,T和M,1<=T<=1000表示隊伍數,1<=M<=5000表示對數。
接下來有T行,每行三個整數,表示一個隊的隊員編號,第一個隊員就是該隊隊長。
然后有M行,每行兩個整數,表示一對隊員的編號。
每個隊員只屬于一個隊。隊員編號從0開始。

?

Output 可行輸出yes,否則輸出no,以EOF為結束。

?

Sample Input 1 2 0 1 2 0 1 1 2 2 4 0 1 2 3 4 5 0 3 0 4 1 3 1 4

?

Sample Output yes no

?

Author 威士忌

?

Source HDOJ 2007 Summer Exercise(3)- Hold by Wiskey #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<cstdlib> #include<algorithm> #include<queue> #include<stack> #include<set> #include<map> using namespace std; stack<int> s; vector<int> e[7010]; int n,m,Dfs[7010],use[7010],low[7010],isstack[7010]; int top,newflag; void init() {memset(Dfs,0,sizeof(Dfs));memset(use,0,sizeof(use));memset(low,0,sizeof(low));memset(isstack,0,sizeof(isstack));top=0,newflag=0;for(int i=1;i<=6*n;i++)e[i].clear();while(!s.empty())s.pop(); } void tarjan(int u) {Dfs[u]=low[u]=++top;isstack[u]=1;s.push(u);for(int i=0;i<e[u].size();i++){int v=e[u][i];if(!Dfs[v]){tarjan(v);low[u]=min(low[u],low[v]);}else if(isstack[v])low[u]=min(low[u],Dfs[v]);}if(Dfs[u]==low[u]){newflag++;int x;do{x=s.top();s.pop();isstack[x]=0;use[x]=newflag;}while(x!=u);} } int main() {while(scanf("%d%d",&n,&m)!=EOF){init();for(int i=1;i<=n;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);a++,b++,c++;e[a+3*n].push_back(b);e[a+3*n].push_back(c);e[b+3*n].push_back(a);e[c+3*n].push_back(a);}for(int i=1;i<=m;i++){int a,b;scanf("%d%d",&a,&b);a++,b++;e[a].push_back(b+3*n);e[b].push_back(a+3*n);}for(int i=1;i<=6*n;i++){if(!Dfs[i])tarjan(i);}bool flag=true;for(int i=1;i<=6*n;i++){if(use[i]==use[i+n]){flag=false;break;}}if(flag)printf("yes\n");elseprintf("no\n");}return 0; }

  

轉載于:https://www.cnblogs.com/water-full/p/4531578.html

總結

以上是生活随笔為你收集整理的(2 sat) hdu 1824的全部內容,希望文章能夠幫你解決所遇到的問題。

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