About Me

About Me : I have been working as a Software Engineer for various international companies for four years.Currently, I am working as a full stack Javascript developer in Petronas(Malaysia).

Skills

Skills • Javascript •Typescript •Python •C •Java •ReactJs • Redux • VueJs • NestJs • React Testing Library • Django• PostgreSQL • MySQL • NodeJs • Git • Docker • Jira • Visual Studio Code • Slack

শুক্রবার, ৬ মার্চ, ২০১৫

UVA :10653 - Bombs! NO they are Mines!! solution

#include <bits/stdc++.h>

using namespace std;

void BFS(int a,int b);
queue<pair<int,int> >Q;

int adj[1001][1001];
int check[1001][1001];
int cost[1001][1001];

int dr[]= {-1,+0,+1,+0};
int dc[]= {+0,-1,+0,+1};

int start_x,start_y,end_x,end_y;
int row,col;

int main()
{

    while(scanf("%d %d",&row,&col)==2)
    {
        if(row==0&&col==0) break;

        memset(adj,0,sizeof(adj));
        memset(check,0,sizeof(check));
        memset(cost,0,sizeof(cost));
        int edge;
        scanf("%d",&edge);
        for(int i=0; i<edge; i++)
        {
            int r,bomb;
            scanf("%d %d",&r,&bomb);
            while(bomb--)
            {
                int c;
                scanf("%d",&c);
                adj[r][c]=1;

            }

        }


        scanf("%d %d %d %d",&start_x,&start_y,&end_x,&end_y);
        BFS(start_x,start_y);
        cout<<cost[end_x][end_y]<<endl;

    }


    return 0;
}

void BFS(int x,int y)
{
    check[x][y]=1;
    cost[x][y]=0;
    Q.push(make_pair(x,y));

    while(!Q.empty())
    {
        pair<int,int> top=Q.front();
        Q.pop();
        for(int i=0; i<4; i++)
        {
            int tx=top.first+dr[i];
            int ty=top.second+dc[i];

            if(((tx>=0&&tx<row)&&(ty>=0&ty<col))&&adj[tx][ty]==0)
            {
                if(check[tx][ty]==0)
                {
                    check[tx][ty]=1;
                    adj[tx][ty]=1;
                    cost[tx][ty]=cost[top.first][top.second]+1;
                   // cout<<tx<<ty<<endl;
                    Q.push(make_pair(tx,ty));
                }

            }

        }

    }

}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন