题解:P11001 [蓝桥杯 2024 省 Python B] 连连看
Breath_of_the_Wild · · 题解
使用一种跑起来非常非常慢的做法,但能 AC。
枚举每一个点
注意边界问题。可以每次循环判断当前节点是否越界,不过这样做较慢,不如提前算好
那么为什么不把
int main(){
ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);
// 输入...
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int mn1=min(n-i,m-j),mn2=min(n-i,j+1);
for(int k=1;k<=mn1;k++) ans+=(a[i][j]==a[i+k][j+k]);
for(int k=1;k<=mn2;k++) ans+=(a[i][j]==a[i+k][j-k]);
}
}
cout<<(ans<<1);
}