#define T 1001
#define S 0 struct Edge{
int nxt,pre,w;
}e[500007];
int cntEdge,head[N];
inline void add(int u,int v,int w){
e[++cntEdge] = (Edge){head[u], v, w}, head[u] = cntEdge;
} inline void Add(int u,int v,int w){
add(u, v, w);
add(v, u, 0);
} int q[N],h[N];
inline bool BFS(){
int t = 0, w = 1;
Fill(h, -1);
h[0] = 0, q[0] = 0;
while(t != w){
int u = q[t++];
for(register int i = head[u]; i; i =e[i].nxt){
int v = e[i].pre;
if(e[i].w && h[v] == -1){
h[v] = h[u] + 1;
q[w++] = e[i].pre;
}
}
}
return h[T] != -1;
}
inline int DFS(int u, int f){
if(u == T) return f;
int w, used = 0;
for(register int i = head[u]; i; i = e[i].nxt){
int v = e[i].pre;
if(h[v] == h[u] + 1){
w = DFS(v, Min(f - used, e[i].w));
e[i].w -= w, e[i^1].w += w;
used += w;
if(used == f) return f;
}
}
if(!used) h[u] = -1;
return used;
}
inline int Dinic(){
int sum = 0;
while(BFS()){
sum += DFS(0, 0x7fffffff);
}
return sum;
} int n,k,mp[N][N]; inline void Build(int &mid){
cntEdge=1;
Fill(head, 0); R(i,1,n) Add(S, i, mid);
R(i,1,n) Add(i, i + 500, k);
R(i,1,n) Add(i + n + 500, i + n, k);
R(i,1,n) Add(i + n, T, mid);
R(i,1,n){
R(j,1,n){
if(mp[i][j])
Add(i, n + j, 1);
else
Add(i + 500, n + j + 500, 1);
}
}
} int main(){
io >> n >> k;
R(i,1,n){
char str[57];
scanf("%s", str + 1);
R(j,1,n)
mp[i][j] = (str[j] == 'Y');
} int maxx = 0;
int l = 0, r = 50;
while(l<=r){
int mid = (l + r) >> 1;
Build(mid);
int ans = Dinic();
if(ans >= n * mid){
maxx = mid;
l = mid + 1;
}
else
r = mid - 1;
} printf("%d", maxx);
return 0;
}

最新文章

  1. lua随机数函数
  2. The main difference between Java &amp; C++(转载)
  3. LA 2038
  4. Django开发网站(四)
  5. js实现点击ul/li等改变背景颜色
  6. esxi5.5 安装,虚拟机复制
  7. μC/OS学习资料(附Ebook)
  8. Vue 单选框与单选框组 组件
  9. angular2 图片赋值的时候前面自动加 unsafe:xxx 导致图片信息不显示问题
  10. kafka性能调优(转)
  11. [转]How to log queries using Entity Framework 7?
  12. html5调用手机本地摄像头和相册识别二维码详细实现过程
  13. 重写 View 的 Touch 方法,实现一个酷炫的九宫格图片
  14. linux下perforce(p4)的使用方法和命令
  15. 卡在Initializing Spring root WebApplicationContext
  16. 14、SpringBoot-CRUD错误处理机制(1)
  17. iOS URL加解密
  18. Unity 游戏对象的组件列表
  19. HTML5中最看重的理念“语义化”相比HTML有什么区别?
  20. Windows平台下MySQL常用操作与命令

热门文章

  1. .net6.0 中一个接口多个实现的服务注册与注入
  2. DOM获取元素、修改元素
  3. consul系列文章02---替换掉.netcore的配置文件
  4. 第一次的ssm整合
  5. neo4j中重复节点问题
  6. C++ 炼气期之数据是主角
  7. SSMS设置为深色模式
  8. 【翻译】 For OData For C# play on RESTier
  9. hadoop集群搭建——单节点(伪分布式)
  10. 用python这样做,offer还不是拿到手软?