uvalive 3989 Ladies' Choice 稳定婚姻问题

原创 2015年11月20日 10:41:37
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int N=1024;

int n,boy[N][N],girl[N][N];
int btg[N],gtb[N],cnt[N];

queue<int>q;

int main()
{
    int _,i,j,t,u,v;
    scanf("%d",&_);
    while(_--)
    {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                scanf("%d",&boy[i][j]);

         for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                {
                    scanf("%d",&t);
                    girl[i][t]=j;
                }
        for(i=1;i<=n;i++)
        {
            btg[i]=-1;
            gtb[i]=0;
            cnt[i]=1;
        }

        for(i=1;i<=n;i++)
            if(btg[i]==-1)
                q.push(i);

        while(!q.empty())
        {
            u=q.front();
            q.pop();
            t=boy[u][cnt[u]++];
            v=gtb[t];
            if(v==0)
            {
                gtb[t]=u;
                btg[u]=t;
            }
            else if(girl[t][v]>girl[t][u])
            {
                q.push(v);
                btg[v]=-1;
                gtb[t]=u;
                btg[u]=t;
            }
            else
                q.push(u);
        }

        for(i=1;i<=n;i++)
            printf("%d\n",btg[i]);
        if(_) printf("\n");
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。http://www.xiang578.com 举报

相关文章推荐

LA 3989 - Ladies' Choice 稳定婚姻问题

在盛大的校园舞会上有n位男生和n位女生,每人都对每个异性有一个排序,代表对他们的喜欢程度。你的任务是将男生和女生一一配对,使得男生U和女生V不存在一下情况1.男生u和女生v不是舞伴2,他们喜欢对方的程...

HDU 1914 The Stable Marriage Problem

稳定婚姻问题

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

The Stable Marriage Problem(稳定婚姻问题)

Description   The stable marriage problem consists of matching members of two different sets a...

POJ 3487 The Stable Marriage Problem

稳定婚姻问题【Gale-Shapley算法】

稳定婚姻问题

#include #include #define M 1007 using namespace std; int pref[M][M],order[M][M],next[M]; ...

poj3487 稳定婚姻问题

稳定婚姻问题,虽然简单,但是挺有意思的。 poj3487中要注意,这道题中的字母并不是一定要从a开始连续的,注意哦。 #include #include #include #include usi...

稳定婚姻问题

假如你是一个媒人,有若干个单身男子登门求助,还有同样多的单身女子也前来征婚。如果你已经知道这些女孩在每个男人心目中的排名,以及男孩们在每个女孩心中的排名(1),你应该怎样为他们牵线配对呢? ...

稳定婚姻问题

ACM模版稳定婚姻问题/* * 稳定婚姻问题O(n^2) */ const int N = 1001; struct People { bool state; int opp, ...
  • f_zyj
  • f_zyj
  • 2016-07-18 01:36
  • 659

稳定婚姻问题

稳定伴侣问题问提描述:有n个男孩m1,m2,…,mn 与n 个女孩w1,w2,wn。每一个男孩mi 都依照喜爱这n个女孩的程度列成一张表,最喜欢的女孩排在第1 位,最不喜爱的女孩排在第n 位;同样地,...

稳定婚姻问题

poj 3487 http://poj.org/problem?id=3487 题目大意: 现在有n个男士,n个女士,他们要组合家庭 每一个男士都对每一位女士有一个喜好值,同样每一个女士对每一个...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)