标解洛谷P 1789(c++解法)【Mc生存】插火把
7908 ワード
テーマゲート
構想
それぞれのたいまつや蛍石を中心に明かりのある場所を列挙し、マークした後にマークされていない場所の個数を統計すればよい.
コードは次のとおりです.
·
構想
それぞれのたいまつや蛍石を中心に明かりのある場所を列挙し、マークした後にマークされていない場所の個数を統計すればよい.
コードは次のとおりです.
#include
using namespace std;
int n, m, k, a, b, ans;
int s[5005][5005];
// :
bool pd(int x, int y)
{
if(x < 1 || y < 1 || x > n || y > n) return 0;
return 1;
}
//
int main()
{
cin>>n>>m>>k; //
// : ,
for(int i = 1; i <= m + k; i++)
{
cin>>a>>b; //
for(int x = -2; x <= 2; x++)
{
for(int y = -2; y <= 2; y++)
{ // 5*5 ( )
if((i > m || abs(x) + abs(y) <= 2) && pd(x + a, b + y))
{
// (i > m) x y 2( )
//
s[x + a][b + y]++;
}
}
}
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
ans += s[i][j] == 0;
/*
, ==0( )
*/
}
cout<<ans<<endl; //
return 0;
}
·