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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Let's go home(HDU-1824)

發布時間:2025/3/17 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Let's go home(HDU-1824) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

思路:每個人有兩種選擇,根據題意要滿足兩種條件:

1)隊長留 或 兩個隊員留

2)由 M 指出的一對隊員 a、b 的沖突條件

假設 a、b、c 三個組成一隊,a 是隊長,那么由條件 1 可知 隊長 a 與隊員 b、c 二者只能選一種,假設留為 1 走為 0,則:

對于任一人走:

  • a 走,導致 b、c 留:<a,0,b,1>、<a,0,c,1>,添邊:(a+3*n,b)、(a+3*n,c)
  • b 走,導致 a 留,c 走:<b,0,a,1>,添邊:(b+3*n,a)
  • c 走,導致 a 留,b 走:<c,0,a,1>,添邊:(c+3*n,a)

對于 M 個條件:

  • a 留,導致 b 走:<a,b+3*n>
  • b 留,導致 a?走:<b,a+3*n>

根據以上關系,添加關系至 2-SAT 中判斷即可

Source Program

#include<iostream> #include<cstdio> #include<cstdlib> #include<string> #include<cstring> #include<cmath> #include<ctime> #include<algorithm> #include<utility> #include<stack> #include<queue> #include<vector> #include<set> #include<map> #include<bitset> #define EnewPosstr 1e-9 #define newPosI acos(-1.0) #define INF 0x3f3f3f3f #define LL long long const int MOD = 1E9+7; const int N = 1000000+5; const int dx[] = {-1,1,0,0,-1,-1,1,1}; const int dy[] = {0,0,-1,1,-1,1,-1,1}; using namespace std;struct Edge{int to,next; }edge[N*2]; int head[N],tot; int n,m; int dfn[N],low[N]; bool vis[N];//標記數組 int scc[N];//記錄結點i屬于哪個強連通分量 int block_cnt;//時間戳 int sig;//記錄強連通分量個數 stack<int> S; void init(){tot=0;sig=0;block_cnt=0;memset(head,-1,sizeof(head));memset(vis,0,sizeof(vis));memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));memset(scc,0,sizeof(scc)); } void addEdge(int from,int to){edge[++tot].to=to;edge[tot].next=head[from];head[from]=tot; } void Tarjan(int x) {vis[x]=true;dfn[x]=low[x]=++block_cnt;//每找到一個新點,紀錄當前節點的時間戳S.push(x);//當前結點入棧for(int i=head[x]; i!=-1; i=edge[i].next) { //遍歷整個棧int y=edge[i].to;//當前結點的下一結點if(!dfn[y]) {Tarjan(y);low[x]=min(low[x],low[y]);}else if(vis[y])low[x]=min(low[x],dfn[y]);}if(dfn[x]==low[x]) { //滿足強連通分量要求sig++;//記錄強連通分量個數while(true) { //記錄元素屬于第幾個強連通分量int temp=S.top();S.pop();vis[temp]=false;scc[temp]=sig;if(temp==x)break;}} } bool twoSAT(){for(int i=1;i<=6*n;i++)//總點數if(!dfn[i])Tarjan(i);for(int i=1;i<=3*n;i++)if(scc[i]==scc[i+3*n])//遍歷是不是會有一個人有2種可能return false;return true; } int main() {while( scanf("%d%d",&n,&m)!=EOF&&(n+m)){init();for(int i=1;i<=n;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);a++,b++,c++;addEdge(a+3*n,b);//a不留b留addEdge(a+3*n,c);//a不留c留addEdge(b+3*n,a);//b不留a留addEdge(c+3*n,a);//c不留a留}while(m--) {int a,b;scanf("%d%d",&a,&b);a++,b++;addEdge(a,b+3*n);//a留b不留addEdge(b,a+3*n);//b留a不留}bool flag=twoSAT();if(!flag)printf("no\n");elseprintf("yes\n");}return 0; }

?

總結

以上是生活随笔為你收集整理的Let's go home(HDU-1824)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品www色诱视频 | 欧美在线一二三四区 | 精品视频免费在线观看 | 韩日av网站 | 黄色在线观看av | 欧美xxxx性xxxxx高清 | 色播亚洲| 日韩性网 | 91视频久久久 | 深爱激情综合 | 自拍偷拍欧美日韩 | 亚洲成人一区二区在线观看 | 91操人| 国产一级做a爱免费视频 | 国产区精品区 | 亚洲男人的天堂在线视频 | 香蕉影院在线 | 一二三四国产精品 | 超碰丝袜 | 九九色九九 | 九九热精品在线观看 | 911国产视频| 美女视频一区 | 日韩乱码在线观看 | 午夜小视频免费 | 国产裸体视频网站 | 伊人看片 | 玖玖爱资源站 | 影音先锋中文字幕资源 | 国产婷婷 | 操白虎逼| 亚洲国产精品成人无久久精品 | 黄网在线播放 | 深爱五月激情五月 | 丁香六月激情综合 | 欧美系列一区二区 | 免费拍拍拍网站 | 久久精品一区二区国产 | 久久综合导航 | 手机在线看永久av片免费 | 森泽佳奈中文字幕 | 国产国拍精品亚洲 | 7色av| 国产在线1区 | 精品人妻久久久久一区二区三区 | 最近中文字幕免费 | 老版k8经典电影 | 久久精品色妇熟妇丰满人妻 | 日韩欧美亚洲综合 | 久久av资源网| 免费三级网站 | 久久久久久免费毛片精品 | 丝袜天堂| 久久一二区 | 国产精品.xx视频.xxtv | 国产精品极品白嫩 | 韩日视频 | 99re6在线精品视频免费播放 | 色欲AV无码精品一区二区久久 | 国产富婆一级全黄大片 | 公侵犯人妻一区二区 | 中文字幕一区二区三区四区不卡 | 亚洲免费视频大全 | av色综合| 五月天激情电影 | 亚洲国产影院 | 国产白嫩美女无套久久 | 美国做爰xxxⅹ性视频 | 中文字幕一区2区3区 | 干一夜综合 | 一本大道久久精品 | 国产ts三人妖大战直男 | 国产欧美一区二区精品性色超碰 | 日本成人在线免费观看 | 国产午夜一区 | 99热网 | 狠狠五月天 | 亚洲一区二区三区综合 | 91麻豆国产在线 | 操操色 | 91免费污视频 | 国产乱偷| www,xxx日本| 国产精品一区免费观看 | 女人特黄大aaaaaa大片 | 久久久永久久久人妻精品麻豆 | 扒开美女内裤狂揉下部 | 成人在线手机视频 | 亚洲午夜精品一区二区三区 | 日韩av在线看 | 久久免费观看视频 | 日本欧美在线视频 | 国产传媒在线视频 | 国产suv精品一区 | 对白超刺激精彩粗话av | 肮脏的交易在线观看 | 欧洲黄色片 | 亲子伦视频一区二区三区 | 污到下面流水的视频 |