比赛 |
202103省实验桐柏一中普及组联赛 |
评测结果 |
RRRRRRRRRR |
题目名称 |
知己知彼,百战不殆 |
最终得分 |
0 |
用户昵称 |
今天作业写了没 |
运行时间 |
0.159 s |
代码语言 |
C++ |
内存使用 |
14.13 MiB |
提交时间 |
2021-03-22 20:01:28 |
显示代码纯文本
- #include<bits/stdc++.h>
- using namespace std;
- int x,y,m,n,p[1805][1805],mx,a[5],b[5],unad,num;
- void add(int x,int y)
- {
- if(!p[x][y]) unad++;
- p[x][y]++;
- if(p[x][y]==mx) num++;
- if(p[x][y]>mx)
- {
- mx++;
- num=1;
- }
- }
- void scp(int x,int y)
- {
- memset(a,0,sizeof(a));
- memset(b,0,sizeof(b));
- for(int i=1;i<=2;i++) if(x>i) a[i]=1;
- for(int i=0;i<=1;i++) if(x+i<n) a[3+i]=1;
- for(int i=1;i<=2;i++) if(y>i) b[i]=1;
- for(int i=0;i<=1;i++) if(y+i<n) b[3+i]=1;
- // if(x>1) a[1]=1; -1
- // if(x>2) a[2]=1; -2
- // if(x<n) a[3]=1; +1
- // if(x+1<n) a[4]=1; +2
- if(a[1] && b[2]) add(x-1,y-2);//1
- if(a[3] && b[2]) add(x+1,y-2);//2
- if(a[4] && b[1]) add(x+2,y-1);//3
- if(a[4] && b[3]) add(x+2,y+1);//4
- if(a[3] && b[4]) add(x+1,y+2);//5
- if(a[1] && b[4]) add(x-1,y+2);//6
- if(a[2] && b[3]) add(x-2,y+1);//7
- if(a[2] && b[1]) add(x-2,y-1);//8
- add(x,y);//self
- }
- int main()
- {
- freopen("safenum.in","r",stdin);
- freopen("safenum.out","r",stdout);
- cin>>n>>m;
- for(int i=0;i<m;i++)
- {
- scanf("%d%d",&x,&y);
- scp(x,y);
- }
- cout<<n*n-unad<<endl<<mx<<" "<<num;
- }