POJ 2060
来源:互联网 发布:淘宝网纯棉四件套 编辑:程序博客网 时间:2024/05/20 13:37
DAG最少路径覆盖、
忽略了从一个点到另一个点也要算时间,检查了一晚上,~~~~~
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <algorithm>#include <cmath>#include <stack>#include <vector>#define LL long long#define myabs(x) ((x)>0?(x):(-(x)))using namespace std;const int inf=0x3f3f3f3f;const int maxn=600+10;int time[maxn][2];int g[maxn][maxn];int vis[maxn],leftp[maxn];int xx1[maxn],x2[maxn],yy1[maxn],y2[maxn];int n;int dfs(int u){int i;for(i=1;i<=n;i++){if(g[u][i]&&!vis[i]){vis[i]=1;if(leftp[i]==-1||dfs(leftp[i])){leftp[i]=u;return 1;}}}return 0;}int solve(){int i,sum=0;memset(leftp,-1,sizeof(leftp));for(i=1;i<=n;i++){memset(vis,0,sizeof(vis));if(dfs(i)) sum++;}return n-sum;}int main(){int T;cin>>T;while(T--){scanf("%d",&n);int i;int tem,h,mi;for(i=1;i<=n;i++){scanf("%d:%d%d%d%d%d",&h,&mi,&xx1[i],&yy1[i],&x2[i],&y2[i]);time[i][0]=h*60+mi;time[i][1]=time[i][0]+myabs(xx1[i]-x2[i])+myabs(yy1[i]-y2[i]);}int j;memset(g,0,sizeof(g));for(i=1;i<=n;i++){for(j=i+1;j<=n;j++){if(time[i][1]+myabs(x2[i]-xx1[j])+myabs(y2[i]-yy1[j])<time[j][0]&&i!=j)g[i][j]=1;}}int ans=solve();printf("%d\n",ans);}return 0;}
- poj 2060
- POJ 2060
- poj 2060
- POJ 2060
- poj 2060 二分匹配
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- 如何生成一个集成库并且实现对库的管理
- 小提醒Linux用户非常热衷的嵌入式系统
- 嵌入式系统及如何开发自己的嵌入式系统
- 其实,成功离我们并不远!
- Eclipse 平台进行 C/C++ 开发
- POJ 2060
- js中string转换为date,一句话即转!
- 【SSH学习笔记】整合spring3-struts2的小项目(四)
- ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
- memcached命令行参数说明
- 错过一个不爱你的人,是为了等待一个爱你的人。
- 为了你网站有一个好的排名,请不要用模板站来建站!
- java_泛型方法使用实例
- HDU 1278 漂亮面料的设计(超级模拟)