#include <iostream>
#include <vector>
#include <utility>
using namespace std;
int countRightTriangles(vector<pair<int, int>>& stars) {
int count = 0;
int N = stars.size();
for (int i = 0; i < N; ++i) {
for (int j = i + 1; j < N; ++j) {
for (int k = j + 1; k < N; ++k) {
int x1 = stars[i].first, y1 = stars[i].second;
int x2 = stars[j].first, y2 = stars[j].second;
int x3 = stars[k].first, y3 = stars[k].second;
// Check if the triangle is a right-angled triangle with legs parallel to the axes
if ((x1 == x2 && y1 == y3) || (x1 == x3 && y1 == y2) || (x2 == x3 && y2 == y3)) {
count++;
}
}
}
}
return count;
}
int main() {
int N;
cin >> N;
vector<pair<int, int>> stars;
for (int i = 0; i < N; ++i) {
int x, y;
cin >> x >> y;
stars.emplace_back(x, y);
}
int result = countRightTriangles(stars);
cout << result << endl;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Incorrect |
0 ms |
600 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |