比赛 2025暑期集训第6场 评测结果 ATTTTTTTTTTTTTT
题目名称 Equilateral Triangles 最终得分 7
用户昵称 二乾五 运行时间 41.976 s
代码语言 C++ 内存使用 4.69 MiB
提交时间 2025-07-12 11:36:32
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define copy(a,b) copy(begin(a),end(a),begin(b))
#define ld long double
#define dot(x) fixed<<setprecision(x)
#define foru(a,b,c) for(ll a=b;a<=c;a++)
#define dis(i,j,k) abs(a[i].first-a[j].first)+abs(a[i].second-a[j].second)==abs(a[j].first-a[k].first)+abs(a[j].second-a[k].second)&&abs(a[j].first-a[k].first)+abs(a[j].second-a[k].second)==abs(a[i].first-a[k].first)+abs(a[i].second-a[k].second)



ll n,ans;
vector<pair<ll,ll>>a(1);
set<tuple<ll,ll,ll>>s;

int main(){
    freopen("usaco_Feb_Triangles!.in" ,"r",stdin );
    freopen("usaco_Feb_Triangles!.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    cin>>n;
    // if(n==3){
    //     cout<<1;
    //     return 0;
    // }
    foru(i,1,n){
        char c;
        foru(j,1,n){
            cin>>c;
            if(c=='*'){
                a.push_back({i,j});
            }
        }
    }
    foru(i,1,a.size()-1){
        foru(j,1,a.size()-1){
            foru(k,1,a.size()-1){
                if(i==j||j==k||i==k)continue;
                if(dis(i,j,k)){
                    ll maxx=max(i,max(j,k)),minn=min(i,min(j,k));
                    ll mid=i+j+k-maxx-minn;
                    s.insert({maxx,mid,minn});
                }
            }
        }
    }
    cout<<s.size();
    return 0;
}