pku1904求所有的完備邊

2021-05-27 10:11:03 字數 965 閱讀 6964

題意:有n男n女,告訴其中乙個完備匹配,求其它所有的完備匹配

分析:對於乙個男生,如果還有別的可能,那麼肯定可以找到乙個環。但這圖怎麼構造就悲劇了,一直建了個錯圖,所以一直wa。後面還是看了別人的解題報告才。。。下面分別給出wa和ac的思想與**

//wa

//男生喜歡女生的建雙向邊,然後算邊連通分量,如果已匹配的邊的兩頂點不在同一邊連通分量中

//那麼只有這組關係,然後不斷刪邊,確定關係,刪邊。。。

/*下面的樣例相當於兩個環只有乙個公共頂點相連

43 1 2 3

3 1 2 3

2 3 4

2 3 4

1 2 3 4

*/#include#include#include#includeusing namespace std;

const int maxn=2200;

vectore[maxn],e1[maxn];

bool flag[maxn],inq[maxn];

int n,top,num,tnum,mat[maxn],q[maxn],dfn[maxn],low[maxn],cnt[maxn];

void tarjan(int t,int pt)

else if(inq[j]&&low[t]>dfn[j])

low[t]=dfn[j];

} if(low[t]==dfn[t])

while(q[top]!=t); }}

int main()

for(i=1;i<=n;i++)

else if(inq[j]&&low[t]>dfn[j])

low[t]=dfn[j];

} if(low[t]==dfn[t])

while(q[top]!=t); }}

int main()

for(i=1;i<=n;i++)

{ scanf("%d",&k);

for(j=0;j

求所有的水仙花數

我的程式 01.02.程式的版權和版本宣告部分 05.檔名稱 test.cpp 06.作 者 王魯峰 07.完成日期 2013 年11月9日 08.版 本 號 v1.0 09.對任務及求解方法的描述部分 10.輸入描述 無 11.問題描述 水仙花數即個位 十位 百位的三次方加和等於這個數本身 12....

對給定字串求所有的組合

輸入字串,輸出所有的組合,比如輸入abc,輸出 a b c ab ac bc abc。題目解法 abc用01串表示,001表示輸出c,111表示輸出abc,解法如下。空間複雜度n,時間複雜度為2 n 1,因為有這麼多種結果啊。package combination author administra...

求有多少個連續字串中所有的字母都出現了偶數次

給出乙個長度為 n 的字串 1 n 100000 求有多少個連續字串中所有的字母都出現了偶數次。這題的思路是這樣的,首先我們可以狀壓,每一位0代表該位代表字母的數量是偶數個,1則代表奇數個 那麼我們記錄乙個字首的狀態,如果後面有歐串,則一定可以異或之前出現過的字首得到全零的合法狀態,因此我們用map...