hdu 4435 bfs+贪心
来源:互联网 发布:淘宝电子书怎么没了 编辑:程序博客网 时间:2024/05/02 05:04
/*题意:给定每个点在平面内的坐标,要求选出一些点,在这些点建立加油站,使得总花费最少(1号点必须建立加油站)。在i点建立加油站需要花费2^i。建立加油站要求能使得汽车从1点开始走遍全图所有的点并回到1点,途中汽车加油次数不限,每个加油站的使用次数不限,但是汽车油箱有上限d(加满油可以跑距离d)。第i个点的费用=比i小的点的所有费用和+1;所以从后向前判断,如果当前点不为加油站在这个点前面的所有都为加油站的话,判断是否成立如果不能成立的话,这个点必选,否则不用必须选*/#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<queue>#include<algorithm>#include<iostream>using namespace std;#define eps 1e-10#define inf 0x3fffffff#define N 200int ma[N][N];struct node{ double x,y;} f[N*N];int n,m;int distan(int i,int j){ return ceil(sqrt((f[i].x- f[j].x)*(f[i].x-f[j].x) + (f[i].y - f[j].y)*(f[i].y-f[j].y)));}int vis[N];int bfs(int x){ int i,k,viss[N],num=1; memset(viss,0,sizeof(viss)); queue<int>q; q.push(1); viss[1]=1; while(!q.empty()) { k=q.front(); q.pop(); for(i=2; i<=n; i++) { if(i==k||viss[i])continue; if(vis[i]==0&&ma[k][i]*2<=m) { num++; viss[i]=1; } if(vis[i]&&ma[k][i]<=m) { num++; viss[i]=1; q.push(i); } if(num==n) return 1; } } return 0;}int main(){ int i,j,k; while(scanf("%d%d",&n,&m)!=EOF) { for(i=1; i<=n; i++) scanf("%lf%lf",&f[i].x,&f[i].y); for(i=1; i<=n-1; i++) for(j=i+1; j<=n; j++) { k=distan(i,j); ma[i][j]=ma[j][i]=k; } for(i=1; i<=n; i++) vis[i]=1; if(!bfs(n+1)) { printf("-1\n"); continue; } for(i=n; i>=2; i--) { vis[i]=0; if(!bfs(i)) vis[i]=1; // printf("%d ",vis[i]); } i=n; while(vis[i]==0) i--; for(; i>=1; i--) { if(vis[i]) printf("1"); else printf("0"); } printf("\n"); } return 0;}
0 0
- hdu 4435 bfs+贪心
- hdu 4435 charge-station ( 贪心+bfs )
- Hdu 4435 charge-station(BFS+贪心)
- HDU 5335 贪心+BFS
- hdu 1072 Nightmare (bfs+贪心)
- hdu 5313 Bipartite Graph 贪心+bfs染色
- Hdu-5335 Walk Out (BFS+贪心)
- HDU 5335 Walk Out (BFS后贪心)
- hdu 4435 贪心+可行性判断
- Hdu 4435 charge-station 贪心
- hdu--4435--charge-station+贪心
- UVA12130 Summits(BFS + 贪心)
- hdu5335Walk Out bfs+贪心
- 二进制迷宫 贪心 BFS
- HDU bfs
- HDU 5335 Walk Out BFS + 贪心 2015 Multi-University Training Contest 4 1009
- 多校第四场 1009 hdu 5335 Walk Out(bfs+贪心)
- HDU 贪心
- LeetCode 147 Longest Palindromic Substring
- spring事务配置的五种方式
- Java事务的类型
- 单例模式的使用
- 《私房菜》3rd 笔记5-2. 查看磁盘情况、ln 链接
- hdu 4435 bfs+贪心
- java数据源连接池
- g++和gcc基本的编译命令
- CXF javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element
- 猴王问题
- linux 下 MySQL源码包的安装
- Phalcon学习笔记-常用函数
- 不能获得form中input的值
- Struts1、Struts2、SpringMVC比较