Submission #747292

# Submission time Handle Problem Language Result Execution time Memory
747292 2023-05-24T04:00:53 Z Trunkty Zoo (COCI19_zoo) C++14
110 / 110
59 ms 36716 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll

int r,c,ans;
char arr[1005][1005];
vector<pair<int,int>> bfs[1000005];
bool best[1005][1005];

signed main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> r >> c;
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            cin >> arr[i][j];
        }
    }
    best[1][1] = true;
    bfs[1].push_back({1,1});
    for(int i=1;i<=r*c;i++){
        if(bfs[i].size()>0){
            ans = i;
        }
        for(int j=0;j<bfs[i].size();j++){
            int x = bfs[i][j].first, y = bfs[i][j].second;
            if(x!=1 and arr[x-1][y]!='*' and !best[x-1][y]){
                best[x-1][y] = true;
                if(arr[x-1][y]!=arr[x][y]){
                    bfs[i+1].push_back({x-1,y});
                }
                else{
                    bfs[i].push_back({x-1,y});
                }
            }
            if(x!=r and arr[x+1][y]!='*' and !best[x+1][y]){
                best[x+1][y] = true;
                if(arr[x+1][y]!=arr[x][y]){
                    bfs[i+1].push_back({x+1,y});
                }
                else{
                    bfs[i].push_back({x+1,y});
                }
            }
            if(y!=1 and arr[x][y-1]!='*' and !best[x][y-1]){
                best[x][y-1] = true;
                if(arr[x][y-1]!=arr[x][y]){
                    bfs[i+1].push_back({x,y-1});
                }
                else{
                    bfs[i].push_back({x,y-1});
                }
            }
            if(y!=c and arr[x][y+1]!='*' and !best[x][y+1]){
                best[x][y+1] = true;
                if(arr[x][y+1]!=arr[x][y]){
                    bfs[i+1].push_back({x,y+1});
                }
                else{
                    bfs[i].push_back({x,y+1});
                }
            }
        }
    }
    cout << ans << "\n";
    return 0;
}

Compilation message

zoo.cpp: In function 'int main()':
zoo.cpp:26:22: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |         for(int j=0;j<bfs[i].size();j++){
      |                     ~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23764 KB Output is correct
2 Correct 14 ms 23796 KB Output is correct
3 Correct 14 ms 23808 KB Output is correct
4 Correct 12 ms 23932 KB Output is correct
5 Correct 12 ms 24072 KB Output is correct
6 Correct 12 ms 24020 KB Output is correct
7 Correct 13 ms 24040 KB Output is correct
8 Correct 13 ms 24020 KB Output is correct
9 Correct 13 ms 24020 KB Output is correct
10 Correct 13 ms 24148 KB Output is correct
11 Correct 14 ms 24020 KB Output is correct
12 Correct 12 ms 24148 KB Output is correct
13 Correct 12 ms 24060 KB Output is correct
14 Correct 14 ms 24020 KB Output is correct
15 Correct 14 ms 24028 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23764 KB Output is correct
2 Correct 14 ms 23796 KB Output is correct
3 Correct 14 ms 23808 KB Output is correct
4 Correct 12 ms 23932 KB Output is correct
5 Correct 12 ms 24072 KB Output is correct
6 Correct 12 ms 24020 KB Output is correct
7 Correct 13 ms 24040 KB Output is correct
8 Correct 13 ms 24020 KB Output is correct
9 Correct 13 ms 24020 KB Output is correct
10 Correct 13 ms 24148 KB Output is correct
11 Correct 14 ms 24020 KB Output is correct
12 Correct 12 ms 24148 KB Output is correct
13 Correct 12 ms 24060 KB Output is correct
14 Correct 14 ms 24020 KB Output is correct
15 Correct 14 ms 24028 KB Output is correct
16 Correct 30 ms 27384 KB Output is correct
17 Correct 29 ms 27360 KB Output is correct
18 Correct 29 ms 27424 KB Output is correct
19 Correct 33 ms 27976 KB Output is correct
20 Correct 31 ms 27848 KB Output is correct
21 Correct 58 ms 36172 KB Output is correct
22 Correct 56 ms 36060 KB Output is correct
23 Correct 57 ms 36276 KB Output is correct
24 Correct 58 ms 36716 KB Output is correct
25 Correct 58 ms 36428 KB Output is correct
26 Correct 56 ms 36352 KB Output is correct
27 Correct 55 ms 36008 KB Output is correct
28 Correct 56 ms 36056 KB Output is correct
29 Correct 58 ms 36684 KB Output is correct
30 Correct 59 ms 36428 KB Output is correct