bzoj 1433 ZJOI2009 假期的宿舍

2021-07-15 08:58:59 字數 1026 閱讀 6730

description

input

output

sample input

1 3

1 1 0

0 1 0

0 1 1

1 0 0

1 0 0

sample output

ˆ_ˆ

hint

對於30% 的資料滿足1 ≤ n ≤ 12。

對於100% 的資料滿足1 ≤ n ≤ 50,1 ≤ t ≤ 20。

把人視為左邊的集合,把床視為右邊的集合,跑一遍最大匹配。

連邊的時候思路要清晰。

#include

#include

#include

#include

using

namespace

std;

int t,n,x,now,tot;

int a[55][55],p[55],mark[55],xy[55];

int head[55],next[2505],to[2505];

void add(int x,int y)

int dfs(int k)

}return

0;}

int match()

return

1;}

int main()

}for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++) scanf("%d",&a[i][j]);

tot=0;

for(int i=1;i<=n;i++) head[i]=-1;

for(int i=1;i<=n;i++)

if(p[i]!=2)

if(match()) printf("%c%c%c\n",94,95,94);

else

printf("%c%c%c\n",84,95,84);

}return

0;}

BZOJ 1433 ZJOI2009 假期的宿舍

bzoj 1433 zjoi2009 假期的宿舍 二分圖匹配 題意 學校放假了 有些同學回家了,而有些同學則有以前的好朋友來探訪,那麼住宿就是乙個問題。比如a和b都是學校的學生,a要回家,而c來看b,c與a不認識。我們假設每個人只能睡和自己直接認識的人的床。那麼乙個解決方案就是b睡a的床而c睡b的床...

bzoj1433 ZJOI2009 假期的宿舍

題目鏈結 乙個暑假,有人去大學裡面探望朋友,有些人回家了,有些人留下了,每個人都要在學校裡面過夜。乙個人只能睡他認識的人的床。問能否安排出方案使所有人有床睡。直接按照題意連邊然後二分圖匹配即可。多組注意清空陣列,以及自己睡自己床的情況。bzoj1433 include include include...

1433 ZJOI2009 假期的宿舍

題解 水題,然而wa了n次因為忘記自己可以睡自己的床。不過還是在30min內a了,把每個點拆成兩個,st連向所有需要床位的人,所有床位連向ed,如果ij認識就連一條邊。include include include include include include define inf 1e9 usi...