Member 12270086 Ответов: 1

Почему мой ДЦ не работает


я пытаюсь применить bfs в 2d сетке, но она показывает такие ошибки, как:

ошибка: переменная или поле 'bfs' объявлено недействительным
ошибка: отсутствует аргумент шаблона перед буквой "А"

Что я уже пробовал:

#include <iostream>
#include
using namespace std;


vector<int> g[100];
int vis[100][100];
int dis[100][100];
int grid[100][100];
int fx[]={1,-1,0,0};
int fy[]={0,0,-1,1};

void bfs(pair a, pair b)
{
    pair x=a;
    memset(vis,0,sizeof vis);
    vis[x.first][x.second]=1;
    dis[x.first][x.second]=0;
    queue<pair>q;
    q.push(x);
    while(!q.empty())
    {
        pair v=q.front();
        for(int i=0;i<4;i++)
        {
            int c=v.first+fx[i];
            int d=v.second+fy[i];
            if(c>-1 and c<r and="" d="">-1 and d<c and="" mode="hold" />            {
                dis[c][d]=dis[v.first][v.second]+1;
                vis[c][d]=1;
                pair y=make_pair(c,d);
                q.push(y);
            }
        }
        q.pop();
    }
    cout<<dis[b.first][b.second]<<endl;

}


int main()
{

    // freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    while(cin>>r>>c)
    {
        if(r!=0&&c!=0)
        {
            memset(grid,0,sizeof grid);
            int n;
            cin>>n;
            int row,number,col;
            for(int i=0; i<n;>            {
                cin>>row>>number;
                for(int j=0; j<number;>                {
                    cin>>col;
                    grid[row][b]=1;

                }
            }
            pair start,stop;
            cin>>start.first>>start.second;
            cin>>stop.first>>stop.second;
            bfs(start,stop);


        }
        else
            break;

    }


    //cout << "Hello world!" << endl;
    return 0;
}

1 Ответов

Рейтинг:
1

Richard MacCutchan

То парная структура[^]- это шаблон, поэтому ему необходимо объявить типы элементов, как показано в примере кода.