博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVALive-3989 Ladies' Choice (稳定婚姻问题)
阅读量:5090 次
发布时间:2019-06-13

本文共 852 字,大约阅读时间需要 2 分钟。

题目大意:稳定婚姻问题。。。。

题目分析:模板题。

代码如下:

# include
# include
# include
# include
# include
using namespace std;# define LL long long# define REP(i,s,n) for(int i=s;i
q;void engage(int man,int woman){ int k=fu_husband[woman]; if(k){ fu_wife[k]=0; q.push(k); } fu_wife[man]=woman; fu_husband[woman]=man;}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d",&n); while(!q.empty()) q.pop(); REP(i,1,n+1){ REP(j,1,n+1) scanf("%d",&pref[i][j]); nxt[i]=1; fu_wife[i]=0; q.push(i); } REP(i,1,n+1){ REP(j,1,n+1){ int x; scanf("%d",&x); order[i][x]=j; } fu_husband[i]=0; } while(!q.empty()){ int man=q.front(); q.pop(); int woman=pref[man][nxt[man]++]; if(!fu_husband[woman]) engage(man,woman); else if(order[woman][man]

  

转载于:https://www.cnblogs.com/20143605--pcx/p/4940146.html

你可能感兴趣的文章