C语言 20分求助!!样例过了QAQ
查看原帖
C语言 20分求助!!样例过了QAQ
1107382
Yg2023楼主2023/11/23 16:11
#include<string.h>
#define L 105
int a[L][L]={0};
int check(int n,int x,int y);
int main(void)
{
    int n,m,k,x1,y1;
    scanf("%d %d %d",&n,&m,&k);
    int con=0;
    for(int i=0;i<m;i++)
    {
        scanf("%d %d",&x1,&y1);
        x1--;y1--;
        for(int j=-1;j<=1;j++)
        {
            for(int k=-1;k<=1;k++)
            {
                if(check(n,x1+j,y1+k)) a[x1+j][y1+k]++;
            }
        }
        
        if(check(n,x1,y1-2)) a[x1][y1-2]++;
        if(check(n,x1,y1+2)) a[x1][y1+2]++;
        if(check(n,x1+2,y1)) a[x1+2][y1]++;
        if(check(n,x1-2,y1)) a[x1-2][y1]++;
        
    }
    
    for(int i=0;i<k;i++)
    {
        printf("in 2\n");
        scanf("%d %d",&x1,&y1);
        x1--;y1--;
        for(int j=-2;j<=2;j++)
        {
            for(int k=-2;k<=2;k++)
            {
                if(check(n,x1+j,y1+k)) a[x1+j][y1+k]++;
            }
        }
    }
   
    
   con=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(a[i][j]==0) con++;
        }
    }
    printf("%d\n",con);
    return 0;
}
int check(int n,int x,int y)
{
    if(x<0||x>=n||y<0||y>=n) return 0;
    return 1;
}
2023/11/23 16:11
加载中...