Trick :帶 pop 的 STL 結構化綁定時不要用 auto

題目描述

給一個 n × m n\times m n×m 矩陣迷宮, 第 i i i 行第 j j j 列的值為 c i , j c_{i,j} ci,j? L H LH LH 在迷宮中迷路了,他需要你的幫助。

L H LH LH 當前在 ( 1 , 1 ) (1,1) (1,1) 的位置,出口在 ( n , m ) (n,m) (n,m),這個迷宮有一個計數器,只有當計數器的值模 ( p ? 1 ) (p-1) (p?1) 的余數為 0 0 0 時迷宮出口才會開門(出口沒有開門意味著即使在 ( n , m ) (n,m) (n,m) 的位置也不能逃出去)。

L H LH LH 每一秒會向迷宮的上下左右四個方向走一步(不可以不走),并且不能走出迷宮的邊界,假設 L H LH LH ( i , j ) (i,j) (i,j) 走到了 ( i ′ , j ′ ) (i',j') (i,j),然后計數器將會加上 c i ′ , j ′ c_{i',j'} ci,j?

特別的,計數器初始是 c 1 , 1 c_{1,1} c1,1?

c i , j = a i , j × p 2 b i , j c_{i,j}=a_{i,j}\times p^{2^{b_{i,j}}} ci,j?=ai,j?×p2bi,j?

現在 L H LH LH 問你,他最快需要多久才可以走出迷宮。

輸入描述

第一行輸出三個整數 n , m , p ( 1 ≤ n , m ≤ 10 , 2 ≤ p ≤ 1 0 4 ) n,m,p(1\le n,m\le 10,2\le p\le 10^4) n,m,p(1n,m10,2p104)
接下來輸入一個 n n n m m m 列的矩陣 a i , j a_{i,j} ai,j?
接下來輸入一個 n n n m m m 列的矩陣 b i , j b_{i,j} bi,j?
0 ≤ a i , b i ≤ 1 0 6 0\le a_i,b_i\le 10^6 0ai?,bi?106

做法

  • 注意到要在模 p-1 意義下,因為 a b % p = ( a % p ) b % p a^b\%p=(a\%p)^b\%p ab%p=(a%p)b%p ,所以 c i , j = a i , j % ( p ? 1 ) c_{i,j}=a_{i,j}\%(p-1) ci,j?=ai,j?%(p?1)

  • 如此走一遍 bfs 即可

Trick

  • 這題如此簡單,那么為什么要放到 trick 專欄呢

  • 注意下面代碼 :

    void Show(){while(q.size()){// auto &[x, y, v] = q.front(); q.pop();auto [x, y, v] = q.front(); q.pop();// cout << x << ' ' << y << ' ' << v << ' ' << d[x][y][v] << '\n';for(int i = 0; i < 4; i ++){int a = x + dx[i];int b = y + dy[i];if(a >= 1 && a <= n && b >= 1 && b <= m){int tmpV = (v + A[a][b]) % (p - 1);if(d[a][b][tmpV] == -1){d[a][b][tmpV] = d[x][y][v] + 1;q.push({a, b, tmpV});}}}}
    }
    
  • 可以看到,這是一個帶 pop 的數據結構,這種數據結構進行結構化綁定的時候一定不要加 & ,雖然現在看很 NT,但是寫的時候就是容易注意不到,所以放到 trick 專欄里面

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37547.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37547.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37547.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安卓應用內通信的核心-Handler

Handler Handler是安卓應用內通信的核心。 Handler相關的類簡介 Handler機制整體可以看作一個傳送帶。 Looper 傳送帶的輪子。Handler 傳送帶上貨物的入口和出口。Message 傳送帶上的貨物。MessageQueue 傳送帶的皮帶。 基礎知識 一個Thread只有一個Looper&#xff0c;一…

滑動窗口2

1. 水果成籃&#xff08;904&#xff09; 題目描述&#xff1a; 算法原理&#xff1a; 根據題目意思&#xff0c;friuts表示第i棵樹上的水果種類&#xff0c;然后我們有兩個籃子去在這些樹上去采水果&#xff0c;但是有限制就是一個籃子里就只能裝一種水果&#xff0c;也就是…

矩陣運算在數據分析中的應用

矩陣運算在數據分析中的應用 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 矩陣運算作為數學和計算機科學中的重要概念&#xff0c;在數據分析和科學計算中發…

elasticsearch源碼分析-03選舉集群狀態

選舉集群狀態 es中存儲的數據有一下幾種&#xff0c;state元數據、lucene索引文件、translog事務日志 元數據信息可以分為&#xff1a; 集群層面的元信息-對應著metaData數據結構&#xff0c;主要是clusterUUid、settings、templates等索引層面的元信息-對應著indexMetaData數…

RK35x8通過TFTP下載內核到開發板

對于有網線接口的RK35X8開發板&#xff0c;調試時候&#xff0c;可以通過網線下載內核鏡像和設備樹到開發板&#xff0c;不用每次修改驅動都要重新打開下載工具&#xff0c;進入下載模式。通過TFTP可以大大提高調試效率。 在ubuntu安裝TFTP服務 安裝tftp服務器 sudo apt-get…

【面試系列】前端開發工程師高頻面試題及詳細解答

歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;歡迎訂閱相關專欄&#xff1a; ?? 全網最全IT互聯網公司面試寶典&#xff1a;收集整理全網各大IT互聯網公司技術、項目、HR面試真題. ?? AIGC時代的創新與未來&#xff1a;詳細講解AIGC的概念、核心技術、…

Python商務數據分析知識專欄(二)——Python數據分析基礎

Python商務數據分析知識專欄&#xff08;二&#xff09;——Python數據分析基礎 一、Python數據分析概述二、Numpy數值計算基礎專欄二&#xff08;Python數據分析基礎&#xff09;的總結 與 專欄三&#xff08;Python數據分析的應用&#xff09;開端 一、Python數據分析概述 二…

【筆記】Spring Cloud Gateway 實現 gRPC 代理

Spring Cloud Gateway 在 3.1.x 版本中增加了針對 gRPC 的網關代理功能支持,本片文章描述一下如何實現相關支持.本文主要基于 Spring Cloud Gateway 的 官方文檔 進行一個實踐練習。有興趣的可以翻看官方文檔。 由于 Grpc 是基于 HTTP2 協議進行傳輸的&#xff0c;因此 Srping …

深度學習之Transformer模型的Vision Transformer(ViT)和Swin Transformer

Transformer 模型最初由 Vaswani 等人在 2017 年提出,是一種基于自注意力機制的深度學習模型。它在自然語言處理(NLP)領域取得了巨大成功,并且也逐漸被應用到計算機視覺任務中。以下是兩種在計算機視覺領域中非常重要的 Transformer 模型:Vision Transformer(ViT)和 Swi…

git 個人常見錯誤備注

問題1&#xff1a;all conflict fixed but you are still merging。。。。。 如果你已經解決了所有沖突&#xff0c;但 Git 仍然提示你正在進行合并&#xff0c;可能是因為你還沒有完成合并過程。以下是詳細步驟&#xff0c;確保你正確完成合并并提交更改&#xff1a; 確認所…

Tongsuo(銅鎖)項目介紹 - 實現國密SSL協議

文章介紹 銅鎖(Tongsuo)是一個提供現代密碼學算法和安全通信協議的開源基礎密碼庫,為存儲、網絡、密鑰管理、隱私計算、區塊鏈等諸多業務場景提供底層的密碼學基礎能力,實現數據在傳輸、使用、存儲等過程中的私密性、完整性和可認證性,為數據生命周期中的隱私和安全提供保…

鴻蒙 如何 url decode

在 TypeScript 和 JavaScript 中進行 URL 編碼的最簡單方式是使用內置的 global 函數 encodeURIComponent()。以下是一個示例&#xff1a; let url "https://example.com/?name測試&job開發者"; let encodedURL encodeURIComponent(url); console.log(encode…

【RAG】FoRAG:面向網絡增強型長形式問答的事實性優化RAG

一、解決問題 在基于網絡的長形式問答&#xff08;Web-enhanced Long-form Question Answering, LFQA&#xff09;任務中&#xff0c;現有RAG在生成答案時存在的問題&#xff1a; 事實性不足&#xff1a;研究表明&#xff0c;現有系統生成的答案中只有大約一半的陳述能夠完全得…

Qt開發筆記:Qt3D三維開發筆記(一):Qt3D三維開發基礎概念介紹

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/140059315 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、O…

匯編語言基礎教程

匯編語言基礎教程 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討匯編語言的基礎知識和應用&#xff0c;幫助大家理解匯編語言在計算機編程中…

來自Claude官方的提示詞庫,支持中文!建議收藏!

大家好,我是木易,一個持續關注AI領域的互聯網技術產品經理,國內Top2本科,美國Top10 CS研究生,MBA。我堅信AI是普通人變強的“外掛”,所以創建了“AI信息Gap”這個公眾號,專注于分享AI全維度知識,包括但不限于AI科普,AI工具測評,AI效率提升,AI行業洞察。關注我,AI之…

多元時間序列分析——VAR(向量自回歸模型)

VAR模型主要是考察多個變量之間的動態互動關系&#xff0c;從而解釋各種經濟沖擊對經濟變量形成的動態影響。這種動態關系可通過格蘭杰因果關系、脈沖響應以及方差分解來進一步明確和可視化。VAR模型主要研究內生變量之間的關系&#xff0c;內生變量就是參與模型并由模型體系內…

通天星CMSV6車載監控平臺CompanyList信息泄露漏洞

1 漏洞描述 通天星CMSV6車載視頻監控平臺是東莞市通天星軟件科技有限公司研發的監控平臺,通天星CMSV6產品覆蓋車載錄像機、單兵錄像機、網絡監控攝像機、行駛記錄儀等產品的視頻綜合平臺。通天星科技應用于公交車車載、校車車載、大巴車車載、物流車載、油品運輸車載、警車車…

推薦一款程序員的搞錢神器

你是不是經常為開發環境的搭建而頭疼&#xff1f;有沒有遇到過因為接口開發而焦頭爛額的情況&#xff1f;作為一名程序員&#xff0c;特別是獨立開發者&#xff0c;這些問題是不是常常讓你覺得心力交瘁&#xff1f;別擔心&#xff0c;現在有一個神器&#xff0c;能讓你擺脫這些…

五、golang基礎之slice和map

文章目錄 一、slice&#xff08;一&#xff09;含義&#xff08;二&#xff09;定義切片&#xff08;三&#xff09;切片初始化&#xff08;四&#xff09;len() 和 cap() 函數&#xff08;五&#xff09;空(nil)切片&#xff08;六&#xff09;切片截取&#xff08;七&#xf…