L3-037 夺宝大赛
1.G. Vlad and Trouble at MIT2.P2899 [USACO08JAN] Cell Phone Network G3.Watering an Array4.P2055 [ZJOI2009] 假期的宿舍5.T432579 大西洋船王6.T432580 星云 hard ver.7.P7072 [CSP-J2020] 直播获奖8.E - Insert or Erase9.D - String Bags10.P2671 [NOIP2015 普及组] 求和11.P1884 [USACO12FEB] Overplanting S12.F. Microcycle13.E. Increasing Subsequences__214.G. Path Prefixes15.F. Rudolf and Imbalance16.P1355 神秘大三角17.[ARC172A] Chocolate18.F. 0, 1, 2, Tree!19.E. Nearly Shortest Repeating Substring20.P1354 房间最短路问题21.P3258 [JLOI2014] 松鼠的新家22.P3052 [USACO12MAR] Cows in a Skyscraper G23.P1337 [JSOI2004] 平衡点 / 吊打XXX24.P3745 [六省联考 2017] 期末考试25.D. Inaccurate Subsequence Search26.E. Long Inversions27.C. Deep Down Below28.C. Rings29.F. Unfair Game30.C. Inversion Graph31.D. Cross Coloring32.D2. Set To Max (Hard Version)33.C. Array Game34.F. Alex's whims35.Queue Sort36.P10252 线性变换37.P10288 [GESP样题 八级] 区间38.P2161 [SHOI2009] 会场预约39.L2-001 紧急救援40.L2-002 链表去重41.L2-013 红色警报42.L2-014 列车调度43.L2-022 重排链表44.L2-023 图着色问题45.L2-039 清点代码库46.L2-034 口罩发放
47.L3-037 夺宝大赛
48.仓库规划49.因子化简50.C. Torn Lucky Ticket51.俄罗斯方块52.F. Cutting Game53.D. Prefix Permutation Sums54.P3304 [SDOI2013] 直径#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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)