国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

[BZOJ2718][Violet 4]畢業(yè)旅行(floyed+匈牙利)

2019-11-11 02:17:19
字體:
供稿:網(wǎng)友

題目描述

傳送門

題解

同CTSC2008 river

代碼

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 205int n,m,x,y,ans;int tot,point[N],nxt[N*N],v[N*N];int belong[N],vis[N];bool d[N][N];void floyed(){ for (int k=1;k<=n;++k) for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) d[i][j]|=d[i][k]&d[k][j];}void add(int x,int y){ ++tot; nxt[tot]=point[x]; point[x]=tot; v[tot]=y;}bool find(int x,int k){ for (int i=point[x];i;i=nxt[i]) if (vis[v[i]]!=k) { vis[v[i]]=k; if (!belong[v[i]]||find(belong[v[i]],k)) { belong[v[i]]=x; return 1; } } return 0;}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=m;++i) { scanf("%d%d",&x,&y); d[x][y]=1; } floyed(); for (int i=1;i<=n;++i) for (int j=1;j<=n;++j) { if (i==j||!d[i][j]) continue; add(i,j); } for (int i=1;i<=n;++i) if (find(i,i)) ++ans;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 佛冈县| 巨鹿县| 赤壁市| 格尔木市| 乌兰县| 乌审旗| 江安县| 太原市| 安庆市| 永顺县| 尼玛县| 曲水县| 宁海县| 昌乐县| 浪卡子县| 祥云县| 岑溪市| 呼图壁县| 司法| 翁源县| 灵丘县| 荥阳市| 两当县| 盐源县| 高碑店市| 闸北区| 万年县| 高州市| 旺苍县| 新竹县| 措美县| 伊吾县| 凤庆县| 阆中市| 松潘县| 洛宁县| 旌德县| 繁昌县| 理塘县| 渝北区| 宁强县|