Pagini recente » Cod sursa (job #2008944) | Cod sursa (job #172318) | Cod sursa (job #2007944) | Cod sursa (job #106592) | Cod sursa (job #3181245)
/**
* Author: Andu Scheusan (not_andu)
* Created: 06.12.2023 18:40:47
*/
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
#define INFILE "triang.in"
#define OUTFILE "triang.out"
typedef long long ll;
const double DELTA = 0.001;
double distPoints(pair<double, double> a, pair<double, double> b){
return (a.first - b.first) * (a.first - b.first) + (a.second - b.second) * (a.second - b.second);
}
double equalDistances(double d1, double d2){
return (d2 - DELTA <= d1 && d1 <= d2 + DELTA);
}
void solve(){
int n;
vector<pair<double, double> > v;
cin >> n;
for(int i = 0; i < n; ++i){
double a, b; cin >> a >> b; v.push_back(make_pair(a, b));
}
int ans = 0;
for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
for(int k = 0; k < n; ++k){
if(i != j && j != k && k != i){
double distance1 = distPoints(v[i], v[j]);
double distance2 = distPoints(v[j], v[k]);
double distance3 = distPoints(v[k], v[i]);
if (
equalDistances(distance1, distance2) &&
equalDistances(distance2, distance3) &&
equalDistances(distance3, distance1)
){
cout << "i: " << i << ", j: " << j << ", k: " << k << '\n';
++ans;
}
}
}
}
}
cout << ans / 6 << '\n';
}
int main(){
ios_base::sync_with_stdio(false);
freopen(INFILE, "r", stdin);
freopen(OUTFILE, "w", stdout);
cin.tie(nullptr);
cout.tie(nullptr);
solve();
return 0;
}