您的位置:首页 > 产品设计 > UI/UE

2013 杭州区邀请赛 Building bridges

2013-08-10 14:51 204 查看
在C和H之间修建桥,先以H的行坐标优先,再纵坐标优先,找出H和C之间的最小距离此时的C和H 的横纵坐标。。直接遍历就可以~~

具体代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
using namespace std;
const int maxn = 40;
const int minn = 0xffffff;

int main()
{
int row,col,i,j,k,w;
char str[maxn][maxn];
int a1,b1,a2,b2;
while(~scanf("%d %d",&row,&col)&&row&&col){
getchar();
int sum =  minn;
for(i = 0; i < row;i++){
gets(str[i]);
}
for(i = 0 ;i < row; i++){
for(j = 0; j < col;j++){
if(str[i][j] == 'H'){
for(k = 0 ; k < row;k++){
for(w = 0;w < col;w++){
if(str[k][w] == 'C'){
if(abs(k-i) + abs(w-j) < sum){
sum = abs(k-i) + abs(w-j);
a1 = i;
b1 = j;
a2 = k;
b2 = w;
}
}
}
}
}
}
}
cout<<a1<<" "<<b1<<" "<<a2<<" "<<b2<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: