ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 05.09.2019 13:02:49

ამოცანა: სატელიტური ფოტო

მომხმარებელი: Khizanag

ვერდიქტი: სრული ამოხსნა

შეფასება: 100.0 ქულა







//
//  main.cpp
//  Contests
//
//  Created by Giga Khizanishvili on 4/5/19.
//  Copyright © 2019 Giga Khizanishvili. All rights reserved.
//

/* Included libraries */
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>

/* Defines */
#define scanVector(v) for(int i = 0; i < v.size() ; i++){ cin>>v[i]; }
#define printVector(v) for(int i = 0; i < (int)v.size() ; i++){ cout<<v[i]<<" "; }
#define printlnVector(v) for(int i = 0; i < v.size(); i++){ cout<<v[i]<<endl; }
#define scanGrid(g) for(int i = 0; i < g.size(); i++){ for(int j = 0; j < g[i].size(); j++){ cin >> g[i][j]; } }
#define printGrid(g) for(int i=0; i<g.size(); i++){for(int j=0; j<g[i].size(); j++)cout<<g[i][j]<<" "; cout<<endl;}

using namespace std;

void dfs(vector< vector<char> > &g, int i, int j, int &soFar, int &result){
    if(i < 0 || j < 0 || i >= g.size() || j >= g[i].size() || g[i][j] == '.') return;
    // else
    g[i][j] = '.'; // visited
    result = max(++soFar, result);
    dfs(g, i-1, j, soFar, result);
    dfs(g, i+1, j, soFar, result);
    dfs(g, i, j-1, soFar, result);
    dfs(g, i, j+1, soFar, result);
}

int main(int argc, const char * argv[]) {
    int n, m; cin >> m >> n;
    vector< vector<char> > g(n, vector<char>(m));
    scanGrid(g);
    int result = 0;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            int soFar = 0;
            dfs(g, i, j, soFar, result);
        }
    }
    cout << result << endl;
    return 0;
}

ტესტები

შემავალი მონაცემები
10 5
..*.....**
.**..*****
.*...*....
..****.***
..****.***
გამომავალი მონაცემები
16
თქვენი პასუხი
16
ჩეკერის პასუხი
YES
შემავალი მონაცემები
15 8
**.**......*..*
..*.**.*...*...
*.*.**.*****.**
...***.****.**.
...**..*.*.....
*****..*****..*
....**...*..*..
*.*...*.*.*.***
გამომავალი მონაცემები
20
თქვენი პასუხი
20
ჩეკერის პასუხი
YES
შემავალი მონაცემები
20 15
.*.*....**...*..*..*
*......**.....*.**..
..*....*.*****.*...*
..*..*.....*.*....*.
..*....*....*..**...
.*.....*..*....**.*.
**.**..*..*.*.*....*
.*....*****..*.**..*
..**.*.***..****..**
..*...*..**..*..*..*
........*.***.*.**.*
......*.......*.**....
გამომავალი მონაცემები
18
თქვენი პასუხი
18
ჩეკერის პასუხი
YES
შემავალი მონაცემები
40 25
.*...***.**.*.**....**.*.**...**.......*
*.*..*...*.******.***********.*..*..**.*
**...**.********....*.*.**.**.*..*******
*..*.********...***..**.**.**.*.*..*....
....*.*..**..*.**...***..**.....**...***
...***.*..*****...***.**.*..*.......*..*
..*....
გამომავალი მონაცემები
117
თქვენი პასუხი
117
ჩეკერის პასუხი
YES
შემავალი მონაცემები
60 40
.*.**.****.*.***.*..******.**********..****...******.**..**.
*.*.*********.****.**..*.*****..***.*****..***.***.*..**..**
.**..*..***.***..***.***.**.**.***..****....**.**.********.*
**.*.**.******.*..*****.***....**.**.*...*******.*..**..****
**.***...
გამომავალი მონაცემები
633
თქვენი პასუხი
633
ჩეკერის პასუხი
YES
შემავალი მონაცემები
80 50
**.*****....*.*.**.*..*..******....*...***..*.*.*..*.*..**..*....*.**.*....*..**
....*.*********.****....*.***...*.****..*.**.***..**....*..*......**..****..**.*
.*...**.*.*.*....*.*..*.**...*..*.*.*.**....**...*.**.*..*....*..*.*..*********.
.*....*...
გამომავალი მონაცემები
183
თქვენი პასუხი
183
ჩეკერის პასუხი
YES
შემავალი მონაცემები
80 100
...*..*....**.****.***...*.*..*.***...***.*...*..*.**...***.**....*..**.***..*.*
.***.**.******.*****.*....**..**..*.****.*..**.***.*.*..*.*.**.**.*****.**.*.*.*
**.*.*.*.*.*....*.....*..*.**.*.******.....*.*.*...*..*.***...*****.........*..*
**..*....
გამომავალი მონაცემები
160
თქვენი პასუხი
160
ჩეკერის პასუხი
YES
შემავალი მონაცემები
80 200
..*.*.*...*...****..*.****.***...***..***...******..*.*...**..**.***.*.**..**...
*.***.*....*.**.*..*..*.**......*.****.**.....****.****.....*.*......*.......**.
.*...***..*...*.*.*.....*.*.***..**...*.*.***.*...*...**.....**....***......*..*
.*..*....
გამომავალი მონაცემები
60
თქვენი პასუხი
60
ჩეკერის პასუხი
YES
შემავალი მონაცემები
80 600
..*..*.******....*..**.****..*...*...**.*....*..*...**.***.*.......*....**.**...
.*.*.*.*....***..**.....*...****.*..***.*..**.*..*.*...*.***....*...**..**......
..**..**..*..**..*.*......***.....***.*.*.*.*.*....***.*..*......**..****.*.*...
..*......
გამომავალი მონაცემები
87
თქვენი პასუხი
87
ჩეკერის პასუხი
YES
შემავალი მონაცემები
80 1000
*...*...**..*.*..*****.*..*......***..***..***..******.**..**.***....*****.....*
*.**.*.*.*.******.**..***.*..*.*.*****.*.*.*..*.****.**...*..***.*.*.****......*
..*.**.*..*..*.**...*.**.**..**.*..**.*.*.*.**..***.*.***..**..*.*..**.**.*.*...
..**....
გამომავალი მონაცემები
372
თქვენი პასუხი
372
ჩეკერის პასუხი
YES