HDU 2063 过山车
Posted prop_jeff
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2063 过山车相关的知识,希望对你有一定的参考价值。
没救了
二分图的最大匹配
#include <iostream> #include <memory> using namespace std; #define MAX 510 int K, M, N; //X女 Y男 int G[MAX][MAX]; //记录当前男生配对情况 //配给哪个女生 int marry[MAX]; //记录男生访问情况 int visit[MAX]; int findPair(int x) { //对应每一个男生 for (int lop = 0; lop < N; lop++) { //没配对或者已访问 if (!G[x][lop] || visit[lop]) { continue; } visit[lop] = 1; //当前男生没配对 //或者配对的那个女生还能找到配对 if (marry[lop] == -1 || findPair(marry[lop])) { marry[lop] = x; return 1; } } return 0; } int main() { while (cin >> K, K != 0) { cin >> M >> N; //初始化 memset(G, 0, sizeof(G)); memset(marry, -1, sizeof(marry)); //建立图 for (int lop = 0; lop < K; lop++) { int a, b; cin >> a >> b; G[a - 1][b - 1] = 1; } int count = 0; //从每一个女生开始找 for (int lop = 0; lop < M; lop++) { memset(visit, 0, sizeof(visit)); if (findPair(lop)) { count++; } } cout << count << endl; } return 0; }
以上是关于HDU 2063 过山车的主要内容,如果未能解决你的问题,请参考以下文章