
解题思路

C++实现
#include<iostream>
#include<sstream>
#include<vector>
using namespace std;
struct Point{
int x;
int y;
};
int dotProduct(Point A, Point B, Point C)
{
int result = (A.x - C.x) * (B.x - C.x) + (A.y - C.y) * (B.y - C.y);
return result;
}
int main()
{
int n;
cin >> n;
vector<int> results;
Point A, B, C;
for (int i = 0; i < n; i++)
{
cin >> A.x >> A.y >> B.x >> B.y >> C.x >> C.y;
results.push_back(dotProduct(A,B,C));
}
for (int i = 0; i < results.size(); i++)
{
if (results[i] > 0)
{
cout << "Acute" << endl;
}
else if (results[i] < 0)
{
cout << "Obtuse" << endl;
}
else
{
cout << "Right" << endl;
}
}
return 0;
}