首页 > 代码库 > hdu1050(贪心)
hdu1050(贪心)
囧 。 想了好久,一开始想的是一个连通图怎样用黑白两色染色,想了各种算法发现都不好做,然后灵机一动这不是网路流吗,然后想怎么建图,如果转换成网络流这题就好做了,建图加个二分应该就可以解决了,最后又发现好像只要找出哪段走廊被用过得次数最多就行了。。。 这么简单的题却想了这么久。 不过用了网络流的方法想这题的这种贪心就好解释了。
hdu 1050
#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>#include <string>#include <queue>#include <stdlib.h>using namespace std;int sum[222];int main(){ int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); memset(sum,0,sizeof(sum)); for(int i=1;i<=n;i++) { int b,d; scanf("%d%d",&b,&d); if(b>d) swap(b,d); for(int i=(b%2==0?b:b+1);i<=(d%2==0?d:d+1);i+=2) { sum[i/2]++; } } int ans=0; for(int i=1;i<=200;i++) ans=max(ans,sum[i]); printf("%d\n",ans*10); } return 0;}
hdu1050(贪心)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。