這個題可以被分為兩部分
1.匈牙利演算法(板子)
2.鄰接表存圖(好像這不能稱為第二部分)
每一排能坐兩個人,那就把一排拆成兩個點,
用匈牙利演算法求最大匹配
每個人都只想坐兩排,說明每個人只會連四條邊
如果不會匈牙利的請點這裡
#includeusingnamespace
std;
const
int n = 5100
;int link[n]=,cnt[n]=,w[n][n];
bool
used[n];
int ans=0
,n;int
x,y;
bool find(int
x) }
}return
false;}
void
xyl()
}int
main()
xyl();
cout
}
luogu P2071 座位安排
已知車上有n排座位,有n 2個人參加省賽,每排座位只能坐兩人,且每個人都有自己想坐的排數si1和si2,問最多使多少人坐到自己想坐的位置。題目 並木有坑人,這題就是乙個二分圖的最大匹配,一邊放人,一邊放座位的排數,注意對於乙個座位是可以承載2個人的,所以乙個人i應該可以在作為si1和si2中分別有2...
洛谷P2071 座位安排
座位安排 二分圖,人為左部點,座位為右部點,由於每個座位可以坐兩個人,所以把每個座位拆成兩個點 i 和 i n 如果乙個人想去這個座位則向這兩個點連邊,跑匈牙利即可。include define n 100000 5 using namespace std inline int read while...
數學 AOJ 614 座位安排
description 宣講會上有連續編號為1.n的n個座位,每個座位只能坐乙個人,有n個人,學校有m個不同專業,如果相鄰座位的同學的專業相同,就會發生悄悄話現象,求有多少種情況可能發生悄悄話現象。不一定每個專業都有人來 input 輸入包括多組資料,以檔案 eof 結束。每組測試資料兩個整數n 1...