hdu 4584 水题爽一发 *

 

 1 #include<cstdio>

 2 #include<iostream>

 3 #include<algorithm>

 4 #include<cstring>

 5 #include<cmath>

 6 #include<queue>

 7 #include<map>

 8 using namespace std;

 9 #define MOD 1000000007

10 const int INF=0x3f3f3f3f;

11 const double eps=1e-5;

12 typedef long long ll;

13 #define cl(a) memset(a,0,sizeof(a))

14 #define ts printf("*****\n");

15 const int MAXN=2500;

16 char s[50][50];

17 int n,m,tt;

18 pair<int,int> p1[MAXN],p2[MAXN],ans1,ans2;

19 int dis(int i,int j)

20 {

21     return (abs(p1[i].first-p2[j].first)+abs(p1[i].second-p2[j].second));

22 }

23 int main()

24 {

25     int i,j,k;

26     #ifndef ONLINE_JUDGE

27     freopen("1.in","r",stdin);

28     #endif

29     while(scanf("%d%d",&n,&m)!=EOF)

30     {

31         if(n==0&&m==0)  break;

32         int tot1=0,tot2=0;

33         for(i=0;i<n;i++)

34         {

35             scanf("%s",s[i]);

36             for(j=0;j<m;j++)

37             {

38                 if(s[i][j]=='H')    p1[tot1++]=make_pair(i,j);

39                 if(s[i][j]=='C')    p2[tot2++]=make_pair(i,j);

40             }

41         }

42         int Min=999999;

43         for(i=0;i<tot1;i++)

44         {

45             for(j=0;j<tot2;j++)

46             {

47                 if(dis(i,j)<Min)

48                 {

49                     Min=dis(i,j);

50                     ans1=p1[i];

51                     ans2=p2[j];

52                 }

53             }

54         }

55         printf("%d %d %d %d\n",ans1.first,ans1.second,ans2.first,ans2.second);

56     }

57 }

 

你可能感兴趣的:(HDU)