题目描述
blablabla
样例
blablabla
算法1
分类讨论
1.三个点不在同行同列上
2.三个点在同行同列上
a.石头在俩点中间
b.石头不在俩点中间
时间复杂度
O(1)
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int x1, y1, x2, y2, x3, y3;
for(int i = 0; i < 10; i++)
{
for(int j = 0; j < 10; j++)
{
char c;
cin >> c;
if(c == 'B') x1 = i, y1 = j;
else if(c == 'L') x2 = i, y2 = j;
else if(c == 'R') x3 = i, y3 = j;
}
getchar();
}
// cout << x1 << " " << y1 << " " << x2 << " " << y2 << " " << x3 << " " << y3 <<endl;
if((x1 == x2) && (x2 == x3) && ((y1 < y3 && y3 < y2) || (y2 < y3 && y3 < y1))) cout << abs(y1 - y2) + 1 << endl;
else if((y1 == y2) && (y2 == y3) && ((x1 < x3 && x3 < x2) || (x2 < x3 && x3 < x1))) cout << abs(x1 - x2) + 1 << endl;
else cout << abs(x1 - x2) + abs(y1 - y2) - 1;
return 0;
}