離散作業
#include <bits/stdc++.h>
using namespace std;
const int N = 2e2 + 5;
int vis[N],a[N][N],link[N],cnt,n,t;
int dfs(int x)
{
for (int i = 1; i <= n ;i++)
{
if (!a[x][i]||vis[i]) continue;
vis[i] = 1;
if (link[i] == 0 || dfs(link[i]))
{
link[i] = x;
return 1;
}
}
return 0;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> t;
while (t--)
{
cin >> n;
memset(link,0,sizeof(link));
cnt = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n ;j ++)
{
cin >> a[i][j];
}
}
for (int i = 1; i <= n; i++)
{
memset(vis, 0, sizeof(vis));
dfs(i);
}
for (int i = 1; i <= n; i++)
{
cout << link[i] << " ";
if(link[i] > 0)//如果匹配上了
cnt++;
}
if(cnt == n) puts("Yes");//是完美匹配
else puts("No");//不是完美匹配
}
}
相關文章
- 離散數學實踐作業,java輸出真值表(轉)Java
- 離散化
- 離散請求
- 離散數學(集合論)
- 離散傅立葉變換
- 離散數學2 集合論
- PLM在離散製造業的實施管理應用研究
- 二維座標離散化模板
- 【離散優化】覆蓋問題優化
- Making the Grade POJ - 3666(離散化+dp)
- 離散數學(數論基礎)
- 南郵離散實驗三(JAVA)Java
- OpenCV 離散傅立葉變換OpenCV
- 離散數學 | (一)數理邏輯
- 離散時間傅立葉變換
- 離散數學(格與布林代數)
- 離散數學及其應用 (第2版)
- vijos1237-隱形的翅膀【離散化】
- 二維字首和與差分、離散化技巧
- 離散傅立葉變換DFT的應用
- 大一下 離散數學 圖論 20240611圖論
- ECNU OJ 3353 塗黑板(線段樹離散化)
- 數字化改革離散製造業,數字孿生汽車生產全流程
- 離散化的一道很經典的題
- 離散意義下的基礎機率與期望
- 【scikit-learn基礎】--『預處理』之 離散化
- HDU 1542 Atlantis (線段樹+離散化+掃描線)
- 簡析方差、標準差與數值離散程度
- BZOJ 4195 程式自動分析【並查集+離散化】並查集
- Volcano:在離線作業混部管理平臺,實現智慧資源管理和作業排程
- 【並查集】【離散化】[NOI2015] 程式自動分析並查集
- 離散數學——3.命題邏輯的等值演算
- 離散數學——6.命題邏輯的應用
- 離散數學 II(最全面的知識點彙總)
- 用MATLAB顯示離散系統的零極點圖Matlab
- 計算機基礎:離散數學和完備性計算機
- 四.(3-4)儲存管理的離散分配方式
- 離散數學——5.命題邏輯的推理理論