80分,第五个点WA掉了,求dalao帮忙看看,感谢!
查看原帖
80分,第五个点WA掉了,求dalao帮忙看看,感谢!
153533
one_leukocyte楼主2022/1/27 20:50
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    int a[1000][1000]={};
    memset(a,0,sizeof(a));
    int n,m,k,x,y,o,p,t=0,ans=0;
    cin>>n>>m>>k;
    for(int i=0; i<m; i++) //输入火把位置
    {
        cin>>x>>y;
        if(x-2>=1)
            a[x-2][y]=1;
        if(x+2<=n)
            a[x+2][y]=1;
        if(y-2>=1)
            a[x][y-2]=1;
        if(y+2<=n)
            a[x][y+2]=1;
        for(int i=-1; i<=1; i++)
            for(int j=-1; j<=1; j++)
                if(x+i>=1&&x+i<=n&&y+j>=1&&y+j<=n)
                    a[x+i][y+j]=1;
        /*if(x>=1&&y>=1)a[x-1][y-1]=1;
        if(x<=n&&y>=1)a[x+1][y-1]=1;
        if(x<=n&&y<=n)a[x+1][y+1]=1;
        if(x>=1&&y<=n)a[x-1][y+1]=1;*///废物思路++
    }
    if(k!=0)//输入萤石位置
    {
        cin>>o>>p;
        for(int i=-2; i<=2; i++)
            for(int j=-2; j<=2; j++)
                if(o+i>=1&&o+i<=n&&p+j>=1&&p+j<=n)
                    a[o+i][p+j]=1;
    }
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n; j++)
        {
            //cout<<a[i][j]<<" ";//检查代码
            if(a[i][j]==0)
                ans++;//怪物数量++
        }
        //cout<<endl;//检查代码
    }
    cout<<ans<<endl;
    return 0;
}
2022/1/27 20:50
加载中...