首页 > 其他分享 >L3-037 夺宝大赛

L3-037 夺宝大赛

时间:2024-04-23 14:46:47浏览次数:22  
标签:startx starty int 夺宝 L3 105 037 dis

原题链接

\(code\)

#include<bits/stdc++.h>
using namespace std;

int dis[105][105];
int xx[4]={1,0,-1,0},yy[4]={0,1,0,-1};
int a[105][105];
int vis[105][105]={0};


struct node
{
    int x,y;
};

map<int,int> cnt;
map<int,int> ren;
int main()
{
    memset(dis,0x3f,sizeof dis);


    int n,m;
    cin>>n>>m;


    int startx,starty;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
            if(a[i][j]==2)
            {
                startx=i;
                starty=j;
            }
        }
    }

    //搜索,标记每个点离大本营的距离
    queue<node> q;
    q.push({startx,starty});
    dis[startx][starty]=0;
    while(q.size())
    {
        int x=q.front().x,y=q.front().y;
        q.pop();
        for(int i=0;i<4;i++)
        {
            int x1=x+xx[i],y1=y+yy[i];
            if(x1>0&&x1<=n&&y1>0&&y1<=m&&a[x1][y1]==1)
            {
                if(dis[x1][y1]>dis[x][y]+1)
                {
                    dis[x1][y1]=dis[x][y]+1;
                    q.push({x1,y1});
                }
            }
        }
    }


    int k;
    cin>>k;
    for(int i=1;i<=k;i++)
    {
        int x,y;
        cin>>y>>x;
        if(!(x>m||y>n||y<0||x<0))
        {
            cnt[dis[x][y]]++;//距离的人数
            ren[dis[x][y]]=i;//如果人数只有一个,那存储的人就是的
        }
        //printf("(%d,%d) :%d\n",x,y,dis[x][y]);
    }

    int flag=0,ans;
    for(int i=0;i<=100000;i++)
    {
        if(cnt[i]==1)
        {
            cout<<ren[i]<<" "<<i;
            flag=1;
        }
        if(flag) break;
    }

    if(!flag) puts("No winner.");

    return 0;
}

标签:startx,starty,int,夺宝,L3,105,037,dis
From: https://www.cnblogs.com/pure4knowledge/p/18152834

相关文章

  • [BZOJ3037] 创世纪 题解
    基环内向树上dp,不过在这里提供给一种非典型做法。考虑将环上的每一条边都断开,这样就会形成多棵树,先在这些树上进行树形\(dp\)。设\(dp_{i,0/1}\)表示不选/选\(i\)时,\(i\)子树内的最大选点数。明显方程为:\[\begin{cases}dp_{u,0}=\sum\limits_{v\inuson}\max(dp_{v,0},dp......
  • P6037 Ryoku 的探索
    P6037Ryoku的探索基环树有两种思路:将环上一条边断开,转化为树上问题先考虑环上,再考虑环上每个点构成的子树。考虑后者。首先基环树上深度遍历只会少走一条边,所以考虑哪条边没被走。可以发现,基环树上深度遍历完后没遍历的边一定在环上。那么如果起点在环上,没遍历的边一定是......
  • 1037 在霍格沃茨找零钱
    把单位统一了做减法。#include<bits/stdc++.h>usingnamespacestd;intc1,c2,c3;inta1,a2,a3;intmain(){ scanf("%d.%d.%d",&c1,&c2,&c3);//应该支付 scanf("%d.%d.%d",&a1,&a2,&a3);//实际支付//转化成统一单位 intshiji=a1......
  • 安装计算机软件出现comctl32.ocx未注册或缺少该控件问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个comctl32.ocx文件(挑选合适的版本文件)把它放入......
  • Provider HAL 和 Device HAL3
    2.CameraProviderHAL和CameraDevice HAL32.1谷歌的Framework层定义了四个接口来与Hal3进行交互:ICameraProvider,  ICameraDevice,  ICameraDeviceSession,  ICameraDeviceCallbackMTK的Hal3当中定义了四个接口的实例: CameraProvid......
  • HAL3 overview
    总览:在cameraservice中通过四个接口来与HAL交互,CameraServer通过ICameraProvider获得一些其他接口,CameraServer通过ICameraDevice获得HAL层对于摄像头的一个抽象设备,CameraServer通过ICameraDeviceSession来进行会话,IDeviceCallback用于HAL将数据传递回Camera......
  • HTML&CSS基础(HTML3)
    1.前言学习路线:HTML4(排版标签)CSS2(盒子模型)HTML4(HTML5优势)CSS3(弹性盒子)marquee标签滚动条效果(废弃,不再使用)标签=元素 loop属性:循环次数;bgcolor属性:背景色当标签中出现多个重复的属性,只显示一个属性2.IDE(VScode)2.1调整字体设置->控制字体大小(建议22......
  • L3-011 直捣黄龙
    dijkstra+判断。#include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;intedges[210][210],visited[210];intcnt[210],enemy[210],pre[210],path[210];//累计城镇累计歼敌前驱结点多少条路intdist[210];//dist[i]从起点到达i最短的距离map<stri......
  • 暖心推荐CAL温度控制器CAL33-00-000
    暖心推荐CAL温度控制器CAL33-00-000暖心推荐CAL温度控制器CAL33-00-000暖心推荐CAL温度控制器CAL33-00-000PID温度控制器-3200(32E)小型1/32ndDIN自动PID温度控制器-3200(32E)型号3200是在1992推出的1/32ndDIN(24mmx48mm)温度控制器。该型号至今仍然全面投产。为*新1......
  • L3-008 喊山
    DFS。#include<bits/stdc++.h>usingnamespacestd;constintinf=0x3f3f3f3f;vector<vector<int>>vec;intvis[10003];intmain(){ intn,m,k; cin>>n>>m>>k; vec.resize(n+10); while(m--){ inta,b; cin>>a&......