样例能过但是0分......
查看原帖
样例能过但是0分......
784370
Indufty_666楼主2023/2/4 14:46
#include <bits/stdc++.h>
using namespace std;
int a[105][105];
int hba[50],hbb[50];
int ysa[50],ysb[50];
bool is_light[105][105],is_put[105][105];
int main()
{
    int n,hb,ys;
    cin >> n >> hb >> ys;
    for(int i = 1;i <= hb;i++)
    {
        cin >> hba[i] >> hbb[i];
        is_put[hba[i]][hbb[i]] = true;    
            for(int j = hbb[i] - 2;j <= hbb[i] + 2;j++)
            {
                is_light[hba[i]][j] = true;
            }
            for(int k = hba[i] - 2;k <= hba[i] + 2;k++)
            {
                is_light[k][hbb[i]] = true;
            }
            is_light[hba[i] - 1][hbb[i] - 1] = true;
            is_light[hba[i] - 1][hbb[i] + 1] = true;
            is_light[hba[i] + 1][hbb[i] - 1] = true;
            is_light[hba[i] + 1][hbb[i] + 1] = true;
    }
    for(int i = 1;i <= ys;i++)
    {
        cin >> ysa[i] >> ysb[i];
        is_put[ysa[i]][ysb[i]] = true;
        for(int i = ysa[i] - 2;i <= ysa[i] + 2;i++)
        {
            for(int j = ysb[i] - 2;j <= ysb[i] + 2;j++)
            {
                is_light[i][j] = true;
            }
        }
    }
    int monster = 0;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= n;j++)
        {
            if(is_light[i][j] == true && is_put[i][j] == false) monster++;
        }
    }
    cout << monster << endl;
    return 0;
}
2023/2/4 14:46
加载中...