有一篇暴力题解为什么不越界
查看原帖
有一篇暴力题解为什么不越界
591471
JRs_roadback楼主2024/11/23 01:03
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>//写这么多头文件确实没必要
using namespace std;
int main(){
    int n,m,k,i,j,o,p,q,s,ans=0;
    cin>>n>>m>>k;
    int map[n+5][n+5];
    memset(map,0,sizeof(map));
    for(i=1;i<=m;i++){
        cin>>o>>p;
        map[o+2][p]=1;//一个一个找,一个一个亮,暴力时,一定要有顺序,
        map[o][p+2]=1;
        map[o-2][p]=1;
        map[o][p-2]=1;
        map[o+1][p]=1;
        map[o+1][p+1]=1;
        map[o+1][p-1]=1;
        map[o][p+1]=1;
        map[o][p]=1;
        map[o][p-1]=1;
        map[o-1][p]=1;
        map[o-1][p+1]=1;
        map[o-1][p-1]=1;
    }
    for(i=1;i<=k;i++){
        cin>>q>>s;
        map[q-2][s-2]=1;
        map[q-2][s-1]=1;
        map[q-2][s]=1;
        map[q-2][s+1]=1;
        map[q-2][s+2]=1;
        map[q-1][s-2]=1;
        map[q-1][s-1]=1;
        map[q-1][s]=1;
        map[q-1][s+1]=1;
        map[q-1][s+2]=1;
        map[q][s-2]=1;
        map[q][s-1]=1;
        map[q][s]=1;
        map[q][s+1]=1;
        map[q][s+2]=1;
        map[q+1][s-2]=1;
        map[q+1][s-1]=1;
        map[q+1][s]=1;
        map[q+1][s+1]=1;
        map[q+1][s+2]=1;
        map[q+2][s-2]=1;
        map[q+2][s-1]=1;
        map[q+2][s]=1;
        map[q+2][s+1]=1;
        map[q+2][s+2]=1;
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(map[i][j]==0)ans++;
        }
    }
    cout<<ans;//搞定
    return 0;
}

题解灰名角边边证全等的代码。 不是,为啥o-2它不越界啊,这代码是可以ac的,理解不了,哪位帅哥答疑解惑一下,球球了

2024/11/23 01:03
加载中...