比赛 2025暑期集训第6场 评测结果 ATTTTTTTTTTTTTT
题目名称 Equilateral Triangles 最终得分 7
用户昵称 pcx 运行时间 41.972 s
代码语言 C++ 内存使用 4.14 MiB
提交时间 2025-07-12 09:41:53
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=500;
vector<pair<int,int> > b;
int n,a[N][N],ans;
int main(){
	freopen("usaco_Feb_Triangles!.in","r",stdin);
	freopen("usaco_Feb_Triangles!.out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			char s;
			cin>>s;
			if(s=='*'){
				a[i][j]=1;
				b.push_back(make_pair(i,j));
			}else{
				a[i][j]=0;
			}
		}
	}
	int len=b.size();
	for(int i=0;i<len-2;i++){
		for(int j=i+1;j<len-1;j++){
			int ix=b[i].first,iy=b[i].second;
			int jx=b[j].first,jy=b[j].second;
			int dij=abs(jx-ix)+abs(jy-iy);
		    for(int k=j+1;k<len;k++){
				int kx=b[k].first,ky=b[k].second;
				int djk=abs(jx-kx)+abs(jy-ky);
				int dik=abs(ix-kx)+abs(iy-ky);
				if(dij==djk&&dij==dik){
					ans++;
				}
			}
		}
	}
	cout<<ans;
	return 0;
}