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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Party(HDU-3062)

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

Problem Description

有n對夫妻被邀請參加一個聚會,因為場地的問題,每對夫妻中只有1人可以列席。在2n 個人中,某些人之間有著很大的矛盾(當然夫妻之間是沒有矛盾的),有矛盾的2個人是不會同時出現在聚會上的。有沒有可能會有n 個人同時列席?

Input

n: 表示有n對夫妻被邀請 (n<= 1000)
m: 表示有m 對矛盾關系 ( m < (n - 1) * (n -1))

在接下來的m行中,每行會有4個數字,分別是 A1,A2,C1,C2?
A1,A2分別表示是夫妻的編號?
C1,C2 表示是妻子還是丈夫 ,0表示妻子 ,1是丈夫
夫妻編號從 0 到 n -1?

Output

如果存在一種情況 則輸出YES?
否則輸出 NO?

Sample Input

2?
1
0 1 1 1?

Sample Output

YES

思路:每對夫妻代表圖中一個結點,只有 1、0 兩種選擇,對于有矛盾的夫妻對,使其不列席,讓無矛盾夫妻對的列席即可

對于 m 矛盾關系,設 a、b 兩對夫婦存在矛盾:

  • 若第 a 對的妻子與第 b 對的妻子有矛盾(a b 0 0)
    則 a 的妻子去了 b 的丈夫必須去,b 的妻子去了 a 的丈夫必須去:<a,0,b,1>、<b,0,a,1>,添邊:<a+n,b>,<b+n,a>
  • 若第 a 對的妻子與第 b 對的丈夫有矛盾(a b 0 1)
    則 a 的妻子去了 b?的妻子必須去,b 的丈夫去了 a 的丈夫必須去:<a,0,b,0>、<b,1,a,1>,添邊:<a+n,b+n>,<b,a>
  • 若第 a 對的丈夫與第 b 對的妻子有矛盾(a b 1 0)
    則 a 的丈夫去了 b 的丈夫必須去,b 的妻子去了 a 的妻子必須去:<a,1,b,1>、<b,0,a,0,>,添邊:<a,b>,<b+n,a+n>
  • 若第 a 對的丈夫與第 b 對的丈夫有矛盾(a b 1 1)
    則 a 的丈夫去了 b 的妻子必須去,b 的丈夫去了 a 的妻子必須去:<a,1,b,0>、<b,1,a,0>,添邊:<a,b+n>,<b,a+n>

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 Exp 1e-9 #define PI 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<=2*n;i++)//找強連通分量if(!dfn[i])Tarjan(i);for(int i=1;i<=n;i++)if(scc[i]==scc[i+n])//條件a與!a屬于同一連通分量,無解return false;return true; } int main() {while( scanf("%d%d",&n,&m)!=EOF&&(n+m)){init();while(m--) {int x,y,xVal,yVal;scanf("%d%d%d%d",&x,&y,&xVal,&yVal);x++;y++;if(xVal==0&&yVal==0){//x為0或y為0addEdge(x+n,y);//x為0,y為1addEdge(y+n,x);//y為0,x為1}else if(xVal==0&&yVal==1){//x為0或y為1addEdge(x+n,y+n);//x為0,y為0addEdge(y,x);//y為1,x為1}else if(xVal==1&&yVal==0){//x為1或y為0addEdge(x,y);//x為1,y為1addEdge(y+n,x+n);//y為0,x為0}else if(xVal==1&&yVal==1){//x為1或y為1addEdge(x,y+n);//x為1,y為0addEdge(y,x+n);//y為1,x為0}}bool flag=twoSAT();if(!flag)printf("NO\n");elseprintf("YES\n");}return 0; }

總結

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

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

主站蜘蛛池模板: 免费看欧美黄色片 | 日本超碰在线 | 国产黄色片免费观看 | 欧美日韩91| 国产在线视频一区 | 亚洲高清中文字幕 | 久久久久人妻一道无码AV | 国产欧美一区二区精品性色 | 亚洲精品乱码久久久久久写真 | 日韩女优在线视频 | 美女的诞生免费观看在线高清 | 一区三区视频在线观看 | 婷婷久久亚洲 | 激情影音 | 欧美激情 亚洲 | 91原创视频在线观看 | 91色拍| 大粗鳮巴久久久久久久久 | 久久伊人操 | 人妻熟女一区二区三区app下载 | 人妖性做爰aaaa| 欧美日韩一区二区视频在线观看 | 99自拍网 | www超碰在线 | 青青草91视频 | 荫蒂被男人添免费视频 | 精品国产一区二区三区在线观看 | 操操干| 国产在线天堂 | 国内外成人免费视频 | 秋霞欧美一区二区三区视频免费 | 日本亲近相奷中文字幕 | 亚洲嫩草影院 | 亚洲一区二区三区激情 | 欧美午夜性 | aa级黄色片| 无码精品一区二区三区在线播放 | 精品国产乱码久久久人妻 | 国产污视频在线看 | av天天看| 强行挺进白丝老师里呻吟 | 男女啪啪免费网站 | 国产精品二区一区二区aⅴ污介绍 | 台湾一级视频 | 久久免费大片 | 日日日日日日 | 红桃视频黄色 | 鬼眼| 亚洲一区综合 | 99精品人妻少妇一区二区 | 亚洲一区二区日韩欧美 | 最好看的2019年中文在线观看 | 一区二区视频观看 | 91美女精品| 性欧美18一19内谢 | 精品国产96亚洲一区二区三区 | 一区二区男女 | 18在线观看视频 | 色婷婷六月 | 影音先锋中文字幕在线视频 | 篠田优在线观看 | 色婷婷一区二区 | 98国产精品 | 肉丝袜脚交视频一区二区 | 无码人妻aⅴ一区二区三区有奶水 | 毛片在线视频播放 | 欧美一级片网址 | 蜜桃精品视频在线观看 | 国产欧美又粗又猛又爽 | 波多野结衣办公室双飞 | 天天曰| 一区二区三区中文视频 | 欧美黑人又粗又大又爽免费 | 日本中文字幕免费 | 亚洲激情六月 | 欧美成人免费在线视频 | 阿拉伯性视频xxxx | 激烈娇喘叫1v1高h糙汉 | 欧美激情一区二区三区免费观看 | 最近中文字幕在线mv视频在线 | 青青草原国产在线 | 在线亚洲自拍 | 国产三级自拍 | 亚洲精品一区二区三区中文字幕 | 国产人妻精品一区二区三区 | 欧美s码亚洲码精品m码 | 久久香蕉综合 | 日韩在线视频在线观看 | 91精品91久久久中77777老牛 | 国自产拍偷拍精品啪啪一区二区 | 这里只有精品免费视频 | 无码人妻精品一区二区三区温州 | 一区二区视频播放 | 男女做爰猛烈刺激 | 久久久久国产精品夜夜夜夜夜 | av老司机在线观看 | av体验区 | 欧美激情小视频 | 成人网站免费观看入口 |