我國的離婚率連續7年上公升,今年的頭兩季,平均每天有近5000對夫婦離婚,大城市的離婚率上公升最快,有研究婚
姻問題的專家認為,是與簡化離婚手續有關。25歲的姍姍和男友談戀愛半年就結婚,結婚不到兩個月就離婚,是典
型的「閃婚閃離」例子,而離婚的導火線是兩個人爭玩電腦遊戲,丈夫一氣之下,把電腦炸爛。有社會工作者就表
示,80後求助個案越來越多,有些是與父母過多干預有關。而根據民政部的統計,中國離婚五大城市首位是北京,
其次是上海、深圳,廣州和廈門,那麼到底是什麼原因導致我國成為離婚大國呢?有專家分析說,中國經濟急速發
生活給人們施加的壓力越來越大,離婚率的不斷公升高已成為現代社會的一大問題。而其中有許許多多的個案是由婚
姻中的「不安定因素」引起的。妻子與丈夫吵架後,心如絞痛,於是尋求前男友的安慰,進而夫妻矛盾激化,最終
以離婚收場,類似上述的案例數不勝數。我們已知n對夫妻的婚姻狀況,稱第i對夫妻的男方為bi,女方為gi。若某
男bi與某女gj曾經交往過(無論是大學,高中,亦或是幼兒園階段,i≠j),則當某方與其配偶(即bi與gi或bj與
gj)感情出現問題時,他們有私奔的可能性。不妨設bi和其配偶gi感情不和,於是bi和gj舊情復燃,進而bj因被戴
綠帽而感到不爽,聯絡上了他的初戀情人gk……一串串的離婚事件像多公尺諾骨牌一般接踵而至。若在bi和gi離婚的
前提下,這2n個人最終依然能夠結合成n對情侶,那麼我們稱婚姻i為不安全的,否則婚姻i就是安全的。給定所需
資訊,你的任務是判斷每對婚姻是否安全。
第一行為乙個正整數n,表示夫妻的對數;
以下n行,每行包含兩個字串,表示這n對夫妻的姓名(先女後男),由乙個空格隔開;
第n+2行包含乙個正整數m,表示曾經相互喜歡過的情侶對數;
以下m行,每行包含兩個字串,表示這m對相互喜歡過的情侶姓名(先女後男),由乙個空格隔開。
所有姓名字串中只包含英文大小寫字母,大小寫敏感,長度不大於8,
保證每對關係只在輸入檔案中出現一次,輸入檔案的最後m行不會出現未在之前出現過的姓名,
這2n個人的姓名各不相同,
1≤n≤4000,0≤m≤20000。
輸出檔案共包含n行,第i行為「safe」(如果婚姻i是安全的)或「unsafe」(如果婚姻i是不安全的)。
【樣例輸入1】
2melanie ashley
scarlett charles
1scarlett ashley
【樣例輸入2】
2melanie ashley
scarlett charles
2scarlett ashley
melanie charles
【樣例輸出1】
safe
safe
【樣例輸出2】
unsafe
unsafe
思維難度:noip+
**難度:noip+
常數小的方法:
#include#include#include#include#include#define ll long long
using namespace std;
const int maxn=4005;
struct nodee[maxn*maxn*2];
int man,woman,h[maxn*2],dfn[maxn*2],low[maxn*2],cnt,ti,ins[maxn*2],col[maxn*2];
mapmp;
stackq;
void add(int u,int v)
inline int mn(int x,int y)
scanf("%d\n",&m);
for(int i=1;i<=m;i++)
for(int i=1;i<=2*n;i++)
for(int i=1;i<=n;i++)
else
} return 0;
}
常數大的方法:
#include#include#include#include#include#define ll long long
using namespace std;
const int maxn=4005;
struct nodee[maxn*maxn*2];
int man,woman,h[maxn*2],dfn[maxn*2],low[maxn*2],cnt,ti,ins[maxn*2],col[maxn*2];
mapmp;
stackq;
void add(int u,int v)
inline int mn(int x,int y)
scanf("%d\n",&m);
for(int i=1;i<=m;i++)
for(int i=1;i<=n*2;i++)
for(int i=1;i<=n;i++)}}
if(fg==0)
else
}return 0;
}
bzoj 2140 穩定婚姻
查詢二分圖每一條邊是否一定在二分圖最大匹配上 首先任意乙個最大匹配,然後把兩個匹配點縮成乙個點,然後用這個圖跑強連通分量,如果乙個點所在的強連通分量大小大於1,那麼說明原圖存在一條匹配邊 非匹配邊 匹配邊 非匹配邊的環,所以這些邊不一定在最大匹配上。include include include i...
BZOJ2140 穩定婚姻
暴力點的我們可以每次拆一對然後跑匈牙利看看能不能跑出來,可以過 然後我們發現匈牙利能跑出來的條件是有乙個環,所以tarjan就可以了 include include include include include include include include include include inc...
BZOJ 2140 穩定婚姻
time limit 2 sec memory limit 259 mb submit 771 solved 359 submit status discuss 第一行為乙個正整數n,表示夫妻的對數 以下n行,每行包含兩個字串,表示這n對夫妻的姓名 先女後男 由乙個空格隔開 第n 2行包含乙個正整數...