hdu 4584水题
来源:互联网 发布:惠州惠阳区网络问政 编辑:程序博客网 时间:2024/04/30 14:54
不能一搜到C就直接return,根据题意限制可能得到相同distance但不合要求的答案
比赛时看错题,艹,把x,y弄反了
#include <iostream>#include <cstdio>#include <cstring>#include <queue>#include <cmath>#include <algorithm>using namespace std;char str[44][44];int vis[44][44],dist[44][44];int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}};int qx[20000],qy[20000];int m,n;int solve(int r,int c,int &resr,int &resc){ int i=r;int j=c; memset(vis,0,sizeof(vis)); memset(dist,127,sizeof(dist)); int head=0;int rear=0; qx[rear]=i;qy[rear++]=j; vis[i][j]=1;dist[i][j]=0; while(head<rear) { int ux=qx[head]; int uy=qy[head++]; for(int k=0;k<4;++k) { int nx=ux+dir[k][0]; int ny=uy+dir[k][1]; if(nx>=0&&nx<m&&ny>=0&&ny<n&&!vis[nx][ny]) { dist[nx][ny]=dist[ux][uy]+1; vis[nx][ny]=1; qx[rear]=nx;qy[rear++]=ny; /*if(str[nx][ny]=='C') { resr=nx;resc=ny; return dist[nx][ny]; }*/ } } } int ans=100000; for(int i=0;i<m;++i) for(int j=0;j<n;++j) if(str[i][j]=='C'&&ans>dist[i][j]) { ans=dist[i][j]; resr=i;resc=j; } return ans;}int main (){ while(scanf("%d%d",&m,&n)!=EOF) { if(m==0&&n==0) break; for(int i=0;i<m;++i) scanf("%s",str[i]); int ans=50*50; int x1,y1,x2,y2,tx,ty; for(int i=0;i<m;++i) for(int j=0;j<n;++j) if(str[i][j]=='H') { int res=solve(i,j,tx,ty); if(ans>res) { ans=res; x1=i;y1=j; x2=tx;y2=ty; } } printf("%d %d %d %d\n",x1,y1,x2,y2); } return 0;}
- hdu 4584水题
- HDU 4584
- hdu水题
- hdu 水题
- HDU-4584-Building bridges
- HDU 4584 Building bridges
- hdu 4584Building bridges
- HDU 4585 & 4584
- HDU 4584 Building bridges
- hdu 4584 map
- HDU 1800(水题!!! @@)
- hdu 1231 DP水题
- HDU 2114 水题
- 水题 hdu 1070 milk
- HDU-1012 水题
- hdu 1029 计数 水题
- HDU-1040(水题)
- HDU 4081 prim水题
- HDU4373(组合公式推导+Lucas定理+中国剩余定理)
- 易语言注册多个热键源码
- 2013 ACM-ICPC杭州赛区全国邀请赛——题目重现
- JNI学习积累之一 ---- 常用函数大全
- 天津网络赛---数论分析题)
- hdu 4584水题
- UVA 270 Lining Up
- 高次同余方程式的解数及解法
- 周渝民默认与喻虹渊恋情 七夕不送女友礼物
- POJ2154(Pólya定理与欧拉函数优化)
- 理想的技术面试过程
- 闪回删除例子
- hdu 4585 shaolin (暴力)
- 连分数