比赛 202103省实验桐柏一中普及组联赛 评测结果 AAAAAAAAAA
题目名称 知己知彼,百战不殆 最终得分 100
用户昵称 tb_yuanmingze 运行时间 0.404 s
代码语言 C++ 内存使用 16.93 MiB
提交时间 2021-03-22 17:22:18
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,maxn,nummaxn,num;
int a[1805][1805];
bool vis[1805][1805];
int dx[9]={-2,-1,1,2,1,2,-2,-1};
int dy[9]={-1,-2,-2,-1,2,1,1,2};
int main(){
	freopen("safenum.in","r",stdin);
	freopen("safenum.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;++i){
		cin>>x>>y;
		a[x][y]++;
		if(vis[x][y]==0)num++,vis[x][y]=1;
		for(int i=0;i<8;++i){
			if(x+dx[i]>=1&&x+dx[i]<=n&&y+dy[i]>=1&&y+dy[i]<=n){
				a[x+dx[i]][y+dy[i]]++;
				if(vis[x+dx[i]][y+dy[i]]==0)num++,vis[x+dx[i]][y+dy[i]]=1;
				if(a[x+dx[i]][y+dy[i]]>maxn){
					nummaxn=1;
					maxn=a[x+dx[i]][y+dy[i]];
				}else if(a[x+dx[i]][y+dy[i]]==maxn){
					nummaxn++;
				}
			}
		}
		if(a[x][y]>maxn){
				nummaxn=1;
				maxn=a[x][y];
		}else if(a[x][y]==maxn){
				nummaxn++;
		}
	}
	cout<<n*n-num<<endl<<maxn<<" "<<nummaxn<<endl;
	return 0;
}