当前位置: 首页 > news >正文

瞬移--BFS+set去重

1.移动方式就是(x+y-1)%l,然后肯定得用set去重得到最简便的移动方式·

2.-BFS最短路效应,vis标记+记录路长

P12322 [蓝桥杯 2024 国 Java C] 瞬移 - 洛谷

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
int n,l; 
int a[2050];
set<int> d;
int vis[2050];
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>l;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){d.insert((a[i]+a[j]-1)%l);}}queue<int> q;q.push(1);vis[1]=1;while(q.size()){int t=q.front();q.pop();if(t==l){cout<<vis[l]-1;return 0;}for(int i:d){int pos=(t+i)%l+1;if(!vis[pos]){vis[pos]=vis[t]+1;q.push(pos);}}}cout<<-1;return 0;
}

相关文章:

  • 【DVWA系列】——xss(Reflected)——Medium详细教程
  • sql server连接遇到的问题
  • Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
  • 《Minio 分片上传实现(基于Spring Boot)》
  • LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
  • 第一章 空间解析几何与向量代数 ~ 空间直角坐标系
  • 人工智能100问☞第43问:什么是提示工程(Prompt Engineering)?
  • Python 训练 day46
  • LeetCode - 3. 无重复字符的最长子串
  • 项目管理进阶:解析112页IPD集成产品开发高层培训【附全文阅读】
  • 十一、MySQL 事务底层与高可用原理
  • FDA方向图的matlab仿真实现
  • Linux【5】-----编译和烧写Linux系统镜像(RK3568)
  • 力扣HOT100之栈:394. 字符串解码
  • 【RAG排序】rag排序代码示例-高级版
  • 基于PHP的连锁酒店管理系统
  • 英国云服务器上安装宝塔面板(BT Panel)
  • cie数通的含金量高吗?费用多少?
  • MySQL--慢查询日志、日志分析工具mysqldumpslow
  • 由于 z(x,y) 的变化导致的影响(那部分被分给了链式项)
  • 成都网站建设推广/重庆网站建设公司
  • 烟台优化网站排名/百家号seo怎么做
  • php网站开发流程/软文宣传
  • 淘宝客怎么做网站导购/seo概念的理解
  • 2008 做网站/武汉大学人民医院精神科
  • 校园网站建设 必要性分析/营销型网站和普通网站