hiho week 272 register

Ended

Participants:79

Verdict:Accepted
Score:100 / 100
Submitted:2019-09-18 01:39:36

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <queue>
//#include <fstream>
using namespace std;
struct Node
{
    int x, y;
    Node(): x(0), y(0)
    {}
    Node(int nodex, int nodey): x(nodex), y(nodey)
    {}
};
void travel(vector<vector<char> > &matrix, Node &start, vector<vector<int> > &res)
{
    int width = matrix[0].size();
    int height = matrix.size();
    queue<Node> q;
    q.push(start);
    while(!q.empty())
    {
        Node curr = q.front();
        q.pop();
        for (int i = 1; curr.y-i >= 0 && matrix[curr.x][curr.y-i] != '#'; i++)
        {
            if (res[curr.x][curr.y-i] == -1 || res[curr.x][curr.y-1] > res[curr.x][curr.y]+1)
            {
                res[curr.x][curr.y-i] = res[curr.x][curr.y]+1;
                if(curr.y-i-1 < 0 || matrix[curr.x][curr.y-i-1] == '#')
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX