侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】方格

Allen Best
2024-05-05 / 0 评论 / 1 点赞 / 32 阅读 / 461 字
温馨提示:
本文最后更新于 2024-05-05,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2005,A=15;
int n,m,a[N][N],c[A];
ll ans;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			c[a[i][j]]++;
		}
	}
	for(int i=1;i<=9;i++) ans=ans+1ll*c[i]*(c[i]-1);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]==a[i-1][j]) ans--;
			if(a[i][j]==a[i][j-1]) ans--;
			if(a[i][j]==a[i+1][j]) ans--;
			if(a[i][j]==a[i][j+1]) ans--;
		}
	}
	cout<<ans;
	return 0;
}
0

评论区