HDU 4584 Building bridges

来源:互联网 发布:用sql语句建立第2章 编辑:程序博客网 时间:2024/05/18 00:06

枚举。


又是一期检测题。又是只能做水题。唉。为毛老是选这种邀请赛的题。

枚举一下 H 点 和 C 点就行了。


#include<cstdio>#include<cstring>#include<string>#include<queue>#include<algorithm>#include<map>#include<stack>#include<iostream>#include<list>#include<set>#include<cmath>#define INF 0x7fffffff#define eps 1e-6#define LL long longusing namespace std;int n,m;struct lx{    int x,y;};lx C[41*41],H[41*41];int main(){    while(scanf("%d%d",&n,&m),n||m)    {        char str[41];        int ccot=0,hcot=0;        for(int i=0; i<n; i++)        {            scanf("%s",str);            for(int j=0; j<m; j++)            {                if(str[j]=='C')                {                    C[ccot].x=i;                    C[ccot++].y=j;                }                else if(str[j]=='H')                {                    H[hcot].x=i;                    H[hcot++].y=j;                }            }        }        int hx=0,hy=0,cx=0,cy=0;        int len=INF;        for(int i=0;i<hcot;i++)        {            for(int j=0;j<ccot;j++)            {                int tmp=abs(H[i].x-C[j].x)+abs(H[i].y-C[j].y);                if(tmp<len)                {                    len=tmp;                    hx=H[i].x,hy=H[i].y;                    cx=C[j].x,cy=C[j].y;                }            }        }        printf("%d %d %d %d\n",hx,hy,cx,cy);    }}


0 0