急急急!!!只能过中间一个样例,求助大佬哪里错了。
查看原帖
急急急!!!只能过中间一个样例,求助大佬哪里错了。
882793
666wula666楼主2023/7/15 23:58

感觉跟其中一个题解一样,但就是看不出来哪错了: 第一个测试点:

100 1 1

50 50

3 3

我的错误输出:9991(对着代码走根本想不通为什么只标记了9个1)

#include<bits/stdc++.h>
using namespace std;

int main(){
   
   int dx[13]={2,0,-2,0,1,1,1,0,0,0,-1,-1,-1},dy[13]={0,2,0,-2,0,1,-1,1,0,-1,0,1,-1};
     int n,m,k;
     int countt=0;
    int g[110][110];
    
    memset(g,-1,sizeof (g));
   
    cin>>n>>m;
    
    while (m-- ){
        int x,y;
        cin>>x>>y;
        for(int i=0;i<13;i++){
            int nx=0,ny=0;
           nx=x+dx[i];
           ny=y+dy[i];
            g[nx][ny]=1;
        }
        
    }   
    
    
    while(k--){
        int o, p;
        cin>>o>>p;
        for(int i=o-2;i<=o+2;i++){
            for(int j=p-2;j<=p+2;j++){
                g[i][j]=1;
            }
        }
    }
   
    
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(g[i][j]==-1)
            countt++;
        }
    }
    cout<<countt;
    
    
}
2023/7/15 23:58
加载中...