题意:
给出n行三角形,求出其中等边三角形的个数,图中给出的两种都是合法情况。
数据范围:n<=1e9
思路:
打表找规律,将所有点的坐标放在坐标系里,n^3搜索打表
打表得出 1 5 15 35 70 126 210 …
规律为
ans=n(n+1)(n+2)(n+3)/24
打表代码
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define lowbit(x) x&(-x)
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
const double les=1e-6;
struct Node
{
double x,y;
}node[10022];
double dist(int x,int y)
{
return (node[x].x-node[y].x)*(node[x].x-node[y].x)+(node[x].y-</