比赛 2025暑期集训第6场 评测结果 ATTTTTTTTTTTTTT
题目名称 Equilateral Triangles 最终得分 7
用户昵称 彭欣越 运行时间 41.979 s
代码语言 C++ 内存使用 3.90 MiB
提交时间 2025-07-12 11:32:17
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=310;
int n;
ll ans;
char s[N][N];
struct node {
	int x,y;
};
vector<node>v;
int main () {
	freopen("usaco_Feb_Triangles!.in","r",stdin);
	freopen("usaco_Feb_Triangles!.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin >> n;
	for (int i=1;i<=n;i++) {
		for (int j=1;j<=n;j++) {
			cin >> s[i][j];
			if (s[i][j]=='*') {
				v.push_back((node){i,j});
			}
		}
	}
	for (int i=0;i<v.size();i++) {
		for (int j=i+1;j<v.size();j++) {
			//if (i==j) continue;
			for (int k=j+1;k<v.size();k++) {
				//if (i==k||j==k) continue;
				int a=abs(v[i].x-v[j].x)+abs(v[i].y-v[j].y);
				int b=abs(v[i].x-v[k].x)+abs(v[i].y-v[k].y);
				int c=abs(v[j].x-v[k].x)+abs(v[j].y-v[k].y);
				if (a==b&&b==c&&a==c) ans++;
			}
		}
	}
	cout << ans <<endl;
	return 0;
}