題目描述
xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調、陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。
有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意(滿意的條件是住進喜歡的房間,吃到喜歡的菜)。
這裡要怎麼分配,能使最多顧客滿意呢?
輸入格式
第一行給出三個正整數表示n,p,q(<=100)。
之後n行,每行p個數包含0或1,第i個數表示喜不喜歡第i個房間(1表示喜歡,0表示不喜歡)。
之後n行,每行q個數,表示喜不喜歡第i道菜。
輸出格式
最大的顧客滿意數。
題解:和奶牛dining差不多的題,將人拆點,然後超級源點->房間->人的入點->人的出點->菜->超級匯點就ok了
ac**:
#pragma gcc optimize(2)
#include
#include
using
namespace std;
using
namespace __gnu_cxx;
#define ll long long
const
int maxn =
2e5+50;
const
int mod =
1e9+7;
const
int inf =
0x3f3f3f3f
;int n,p,q,s,t,tot=
1,head[maxn]
,to[maxn]
,w[maxn]
,nxt[maxn]
,h[maxn]
;inline
void
ade(
int u,
int v,
int ww)
inline
void
add(
int u,
int v,
int w)
inline
intbfs()
}}return h[t];}
inline
intdfs
(int x,
int f)}if
(!fl) h[x]=-
1;return fl;
}inline
intdinic()
signed
main()
}for
(int i=
1;i<=n;i++)}
printf
("%d\n"
,dinic()
);return0;
}
P1402 酒店之王
xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調 陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意 滿意的條...
洛谷 P1402 酒店之王
題目描述 xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調 陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意...
洛谷 P1402 酒店之王
題目描述 xx酒店的老闆想成為酒店之王,本著這種希望,第一步要將酒店變得人性化。由於很多來住店的旅客有自己喜好的房間色調 陽光等,也有自己所愛的菜,但是該酒店只有p間房間,一天只有固定的q道不同的菜。有一天來了n個客人,每個客人說出了自己喜歡哪些房間,喜歡哪道菜。但是很不幸,可能做不到讓所有顧客滿意...