problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
luogu::P1789类 参考

洛谷 P1789 【Mc生存】插火把 更多...

#include <luogu.h>

静态 Public 成员函数

static int main (istream &cin, ostream &cout)
 

详细描述

洛谷 P1789 【Mc生存】插火把

在文件 luogu.h468 行定义.

成员函数说明

◆ main()

int luogu::P1789::main ( istream &  cin,
ostream &  cout 
)
static

在文件 luogu.cpp1575 行定义.

1575 {
1576 int n;
1577 int m;
1578 int k;
1579 cin >> n >> m >> k;
1580 bool space[101][101] = {};
1581 memset(space, 0, sizeof space);
1582 for(int i = 0; i < m; i++) {
1583 int x;
1584 int y;
1585 cin >> x >> y;
1586 pair<int, int> lights[13] = {
1587 make_pair(x - 2, y),
1588 make_pair(x - 1, y - 1),
1589 make_pair(x - 1, y),
1590 make_pair(x - 1, y + 1),
1591 make_pair(x, y - 2),
1592 make_pair(x, y - 1),
1593 make_pair(x, y),
1594 make_pair(x, y + 1),
1595 make_pair(x, y + 2),
1596 make_pair(x + 1, y - 1),
1597 make_pair(x + 1, y),
1598 make_pair(x + 1, y + 1),
1599 make_pair(x + 2, y),
1600 };
1601 for(auto [light_x, light_y]: lights) {
1602 if(0 < light_x && light_x <= n && 0 < light_y && light_y <= n) {
1603 space[light_x][light_y] = true;
1604 }
1605 }
1606 }
1607 for(int i = 0; i < k; i++) {
1608 int o;
1609 int p;
1610 cin >> o >> p;
1611 for(int light_x = o - 2; light_x <= o + 2; light_x++) {
1612 for(int light_y = p - 2; light_y <= p + 2; light_y++) {
1613 if(0 < light_x && light_x <= n && 0 < light_y && light_y <= n) {
1614 space[light_x][light_y] = true;
1615 }
1616 }
1617 }
1618 }
1619 int ans = 0;
1620 for(int i = 1; i <= n; i++) {
1621 for(int j = 1; j <= n; j++) {
1622 if(!space[i][j]) {
1623 ans++;
1624 }
1625 }
1626 }
1627 cout << ans;
1628 return 0;
1629 }

被这些函数引用 luogu::TEST().


该类的文档由以下文件生成: