比赛 |
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;
}