编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#20447 #1037. 膨胀的tyx Accepted 100 4261 ms 47640 K C++ / 1.9 K q3540555 2019-07-22 15:22:35
显示原始代码
#include <map>
#include <ctime>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define spause() system("pause")

using namespace std;
typedef long long llong;
typedef unsigned long long ullong;
typedef pair<int, int> prdd;

const int dinf = 0x7fffffff;
const llong llinf = 0x7fffffffffffffff;
const int way[4][2] = { { 1, 0 }, { -1, 0 }, { 0, 1 }, { 0, -1 } };

struct cao {
    bool vd;
    int dx = dinf, dy = dinf;
};

int n, m, ans = 0;
vector<prdd> bfsn, tmp;
cao ecao[2000][2000];

int pmd(int a, int p) {
    int ans = a % p;
    if (ans < 0)
        ans += p;
    return ans;
}

void bfsnp(prdd p) {
    for (int i = 0; i < 4; i++) {
        int nl = p.first + way[i][0], nr = p.second + way[i][1];
        if (!ecao[pmd(nl, n)][pmd(nr, m)].vd)
            continue;
        int nx = ecao[p.first][p.second].dx, ny = ecao[p.first][p.second].dy;
        if (nl < 0 || nr < 0 || nl >= n || nr >= m) {
            nx += way[i][0];
            ny += way[i][1];
        }
        if (ecao[pmd(nl, n)][pmd(nr, m)].dx == dinf) {
            tmp.push_back(prdd(pmd(nl, n), pmd(nr, m)));
            ecao[pmd(nl, n)][pmd(nr, m)].dx = nx;
            ecao[pmd(nl, n)][pmd(nr, m)].dy = ny;
        } else if (nx != ecao[pmd(nl, n)][pmd(nr, m)].dx || ny != ecao[pmd(nl, n)][pmd(nr, m)].dy) {
            bfsn.clear();
            tmp.clear();
            ans++;
        }
    }
}

int main() {
    cin.sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> m;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++) {
            char tmp;
            cin >> tmp;
            if (tmp == '#')
                ecao[i][j].vd = false;
            else
                ecao[i][j].vd = true;
            if (tmp == 'S') {
                ecao[i][j].dx = ecao[i][j].dy = 0;
                bfsn.push_back(prdd(i, j));
            }
        }

    while (!bfsn.empty()) {
        for (int i = 0; i < bfsn.size(); i++) bfsnp(bfsn.at(i));
        bfsn = tmp;
        tmp.clear();
    }

    if (ans)
        printf("Yes");
    else
        printf("No");
    spause();
    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:33 ms
内存:47444 KiB

输入文件(data1.in

3 3
#.#
#.#
#S#

答案文件(data1.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:33 ms
内存:47452 KiB

输入文件(data2.in

5 5
#.#.#
..#.S
#####
..#..
#.#.#

答案文件(data2.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:35 ms
内存:47444 KiB

输入文件(data3.in

7 4
.##.
.S##
#.##
#..#
##.#
.#..
.###

答案文件(data3.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:33 ms
内存:47444 KiB

输入文件(data4.in

5 5
#.#.#
..#..
#####
.S#..
#.#.#

答案文件(data4.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:37 ms
内存:47448 KiB

输入文件(data5.in

6 20
#.##.##.##.##.##.##.
#.##.##.##.##.##.##.
#.##.##.##.##.##.##.
S.#..#..#..#..#..#..
##..#.
<36 bytes omitted>

答案文件(data5.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #6
Accepted
得分:100
用时:35 ms
内存:47460 KiB

输入文件(data6.in

5 5
#.#.#
..#.S
#####
..#..
#.#.#

答案文件(data6.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #7
Accepted
得分:100
用时:33 ms
内存:47480 KiB

输入文件(data7.in

3 3
#.#
#.#
#S#

答案文件(data7.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #8
Accepted
得分:100
用时:75 ms
内存:47480 KiB

输入文件(data8.in

2000 2000
S#########################################################################################
<4001910 bytes omitted>

答案文件(data8.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #9
Accepted
得分:100
用时:222 ms
内存:47608 KiB

输入文件(data9.in

2000 2000
S.........................................................................................
<4001910 bytes omitted>

答案文件(data9.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #10
Accepted
得分:100
用时:322 ms
内存:47640 KiB

输入文件(data10.in

2000 2000
S.........................................................................................
<4001910 bytes omitted>

答案文件(data10.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #11
Accepted
得分:100
用时:307 ms
内存:47608 KiB

输入文件(data11.in

2000 2000
S.........................................................................................
<4001910 bytes omitted>

答案文件(data11.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #12
Accepted
得分:100
用时:151 ms
内存:47440 KiB

输入文件(data12.in

2000 2000
#S########################################################################################
<4001910 bytes omitted>

答案文件(data12.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #13
Accepted
得分:100
用时:160 ms
内存:47400 KiB

输入文件(data13.in

2000 2000
##########################################################################################
<4001910 bytes omitted>

答案文件(data13.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #14
Accepted
得分:100
用时:148 ms
内存:47480 KiB

输入文件(data14.in

2000 2000
##########################################################################################
<4001910 bytes omitted>

答案文件(data14.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #15
Accepted
得分:100
用时:148 ms
内存:47444 KiB

输入文件(data15.in

2000 2000
##########################################################################################
<4001910 bytes omitted>

答案文件(data15.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #16
Accepted
得分:100
用时:33 ms
内存:47444 KiB

输入文件(data16.in

5 5
##.##
##.##
#....
#S###
#..#.

答案文件(data16.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #17
Accepted
得分:100
用时:32 ms
内存:47508 KiB

输入文件(data17.in

4 4
#.##
..#.
.#S#
#...

答案文件(data17.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #18
Accepted
得分:100
用时:198 ms
内存:47480 KiB

输入文件(data18.in

2000 2000
#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.
<4003911 bytes omitted>

答案文件(data18.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #19
Accepted
得分:100
用时:212 ms
内存:47480 KiB

输入文件(data19.in

2000 2000
#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.
<4003911 bytes omitted>

答案文件(data19.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #20
Accepted
得分:100
用时:188 ms
内存:47500 KiB

输入文件(data20.in

2000 2000
#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.
<4003911 bytes omitted>

答案文件(data20.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #21
Accepted
得分:100
用时:76 ms
内存:47520 KiB

输入文件(data21.in

2000 2000
#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.
<4003911 bytes omitted>

答案文件(data21.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #22
Accepted
得分:100
用时:201 ms
内存:47480 KiB

输入文件(data22.in

2000 2000
#.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.
<4003911 bytes omitted>

答案文件(data22.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #23
Accepted
得分:100
用时:97 ms
内存:47444 KiB

输入文件(data23.in

2000 2000
.#.###.##.#.#.###..#.#.#...##....##...#..#.#......##.###.##.#..##...##...########.###..#.
<4003911 bytes omitted>

答案文件(data23.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #24
Accepted
得分:100
用时:100 ms
内存:47480 KiB

输入文件(data24.in

2000 2000
.#.###.##.#.#.###..#.#.#...##....##...#..#.#......##.###.##.#..##...##...########.###..#.
<4003911 bytes omitted>

答案文件(data24.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #25
Accepted
得分:100
用时:97 ms
内存:47444 KiB

输入文件(data25.in

2000 2000
.#.###.##.#.#.###..#.#.#...##....##...#..#.#......##.###.##.#..##...##...########.###..#.
<4003911 bytes omitted>

答案文件(data25.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #26
Accepted
得分:100
用时:97 ms
内存:47512 KiB

输入文件(data26.in

2000 2000
#.######..##.###..##...#...#.#.#...#.######.#.#######.#...##.#########..#.##.#...##.###.#
<4003911 bytes omitted>

答案文件(data26.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #27
Accepted
得分:100
用时:102 ms
内存:47468 KiB

输入文件(data27.in

2000 2000
#.######..##.###..##...#...#.#.#...#.######.#.#######.#...##.#########..#.##.#...##.###.#
<4003911 bytes omitted>

答案文件(data27.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #28
Accepted
得分:100
用时:100 ms
内存:47448 KiB

输入文件(data28.in

2000 2000
#.######..##.###..##...#...#.#.#...#.######.#.#######.#...##.#########..#.##.#...##.###.#
<4003911 bytes omitted>

答案文件(data28.out

No

用户输出

No

系统信息

Exited with return code 0
测试点 #29
Accepted
得分:100
用时:300 ms
内存:47572 KiB

输入文件(data29.in

2000 2000
.#...##...##....#.#....#.#.####..#.....###......##...#....##..##..#######...###.#.#.#...#
<4003911 bytes omitted>

答案文件(data29.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #30
Accepted
得分:100
用时:278 ms
内存:47552 KiB

输入文件(data30.in

2000 2000
..##.....##..#.#..#..#.#..###....##.....#...#...........#.####......#..##.....###..#.#..#
<4003911 bytes omitted>

答案文件(data30.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #31
Accepted
得分:100
用时:281 ms
内存:47552 KiB

输入文件(data31.in

2000 2000
###....#..........#.#.......####..#.#.#.#.##...####..##..##............#..#.##..#.#...##.
<4003911 bytes omitted>

答案文件(data31.out

Yes

用户输出

Yes

系统信息

Exited with return code 0
测试点 #32
Accepted
得分:100
用时:97 ms
内存:47444 KiB

输入文件(data32.in

2000 2000
..##...###.#.#...#..#.....#.#.....#....###.........##.##.....##...##..##.#......#........
<4003911 bytes omitted>

答案文件(data32.out

No

用户输出

No

系统信息

Exited with return code 0