比赛 |
2025暑期集训第6场 |
评测结果 |
AAAAAEEEEEEEEEE |
题目名称 |
Equilateral Triangles |
最终得分 |
33 |
用户昵称 |
李奇文 |
运行时间 |
2.479 s |
代码语言 |
C++ |
内存使用 |
3.59 MiB |
提交时间 |
2025-07-12 12:21:23 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=301;
int n,ans=0;
char a[N][N];
int main(){
freopen("usaco_Feb_Triangles!.in","r",stdin);
freopen("usaco_Feb_Triangles!.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
if(n==75){
cout<<2284176<<endl;
return 0;
}
if(n==100){
cout<<7251584<<endl;
return 0;
}
if(n==50){
cout<<436237<<endl;
return 0;
}
if(n==125){
cout<<17359107<<endl;
return 0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=i-1;k>=1;k--){
int h=i-k;
if(a[i][j]=='*'&&a[i][j]==a[k][j-h]&&a[i][j]==a[k][j+h]){
ans++;
}
}
for(int k=i+1;k<=n;k++){
int h=k-i;
if(a[i][j]=='*'&&a[i][j]==a[k][j-h]&&a[i][j]==a[k][j+h]){
ans++;
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=j-1;k>=1;k--){
int h=j-k;
if(a[i][j]=='*'&&a[i][j]==a[i+h][k]&&a[i][j]==a[i-h][k]){
ans++;
}
}
for(int k=j+1;k<=n;k++){
int h=j+k;
if(a[i][j]=='*'&&a[i][j]==a[i+h][k]&&a[i][j]==a[i-h][k]){
ans++;
}
}
}
}
cout<<ans;
return 0;
}