JZOJ1498抓猫

Posted gjy-juruo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JZOJ1498抓猫相关的知识,希望对你有一定的参考价值。

题目大意:

一个 (n imes m) 的地方,每个格子都有方向,问最少要多少个装置从任意一点出发都会碰到装置。

正文:

如果格子连在一起成为一条路的话,其实只用求路的条数就行,考虑用并查集。

代码:

for (int i = 1; i <= n; ++i)
{
    for (int j = 0; j < m; ++j)
    {
        if (a[i][j - 1] == 'E')
            f[Get((i - 1) * m + j + 1)] 
                = Get((i - 1) * m + j);
        if (a[i][j + 1] == 'W')
            f[Get((i - 1) * m + j + 1)] 
                = Get((i - 1) * m + j + 2);
        if (a[i - 1][j] == 'S')
            f[Get((i - 1) * m + j + 1)] 
                = Get((i - 2) * m + j + 1);
        if (a[i + 1][j] == 'N')
            f[Get((i - 1) * m + j + 1)] 
                = Get(i * m + j + 1);
    }
}
for (int i = 1; i <= n * m; i++)
{
    if(f[i] == i)
        ans++;
}

以上是关于JZOJ1498抓猫的主要内容,如果未能解决你的问题,请参考以下文章

第1498期webpack loader机制源码解析

hihocoder-1498-Diligent Robots

hihoCoder1498-Diligent Robots

HDU - 1498 G.题解

hdu1498

洛谷P1498 南蛮图腾