日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

急先锋开宝箱问题(Java实现)

發布時間:2024/1/8 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 急先锋开宝箱问题(Java实现) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開寶箱(Java8)

我在參與騰訊校招機考的時候做過類似的題(當然比這個難了),是寶箱和鑰匙匹配的題,所以想找個類似的題目做做,然后就搜到這題,對于算法效率和能不能通過測試我不清楚,因為沒有找到題目來源,java代碼僅供參考。c/c++解法參考

Description:
急先鋒是一個商人,有一天找到了一個寶箱,寶箱需要正確的密碼才能打開。同時他發現寶箱上有一個數字,和一份密碼表。密碼表上有n個密碼,只有一個密碼是正確的。
急先鋒所在的島上有m個地點,每個地點有兩個神秘的數字。他通過交易得到每個地點上擁有的信息,也知道這個寶箱上的數字是一個地點的標號x。急先鋒需要先到x號地點,x號地點上的第一個數字就是他要去的最終地點的標號,最終的地點上的第二個數字就是密碼在密碼表上的序號。急先鋒想要知道打開這個寶箱的密碼,聰明的你能不能直接告訴他呢?
Input:
第一行兩個數字n,m.(1<=n,m<=20)
接下來n個數字ai表示密碼表上序號1到序號n的密碼分別是多少。(1 <=ai<=100)
接下來m行每行兩個數字u,v。(1 <= u<=m,1<= v <=n)
然后給你一個T,表示T次詢問。(1<=T<= 20)
接下來的T行每行一個x,表示寶箱上的數字。(1<=x<=m)
Output:
一共T行。每行一個數字表示最后的密碼。
Sample Input
5 4
1 2 3 4 5
2 4
3 3
1 2
2 5
2
1
2
Sample Output
3
2

題目解析:根據題意和測試用例可知,T行數的每一行代表一個寶箱上的數,寶箱上的數代表地點,地點里第一個數u[i]代表最終地點,最終地點的第二個數v[i]代表密碼在密碼表a[i]上的位置即索引,所以可得a[ v[ u[ x[ ] ] ] ] 即為寶箱密碼。

下附上java8偽代碼:

import java.util.Scanner; public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);int n = in.nextInt();//鍵盤輸入nint m = in.nextInt();//鍵盤輸入mint[] a = new int[n];//數字a存放密碼表int[] u = new int[n];//數組u存放地點x第一個數int[] v = new int[v];//數組v存放地點x第一個數for (int i = 0;i < n;i++){a[i] = in.nextInt();//輸入密碼表}for (int j = 0;j < m;j++){u[j] = in.nextInt();//輸入地點x第一個數v[j] = in.nextInt();//輸入地點x第二個數}int T = in.nextInt();//輸入詢問次數Tint[] x = new int[T];//數組x存放寶箱上的數字for (int k = 0;k < T;k++ ){x[k] = in.nextInt();//輸入寶箱上的數組}for (int k = 0;k < T;k++ ){/*因為數組洗標是從0開始的,但輸入數是從1開始的自然數所以此處-1*/int p =a[v[u[x[k]-1]-1]-1];//用p存儲密碼System.out.println(p);//輸出密碼}} }

輸入輸出結果如下:最后兩行為輸出

5 4 1 2 3 4 5 2 4 3 3 1 2 2 5 2 1 2 3 2

下附上int p =a[ v[ u[x[ k ] ] ] ]結果的實現偽代碼:

import java.util.Scanner public class Main{public static void main(String[] args){Scanner in = new Scanner(System.in);int n = in.nextInt();//鍵盤輸入nint m = in.nextInt();//鍵盤輸入mint[] a = new int[n+1];//數字a存放密碼表int[] u = new int[n+1];//數組u存放地點x第一個數int[] v = new int[m+1];//數組v存放地點x第一個數for (int i = 1;i <=n;i++){a[i] = in.nextInt();//輸入密碼表}for (int j = 1;j <= m;j++){u[j] = in.nextInt();//輸入地點x第一個數v[j] = in.nextInt();//輸入地點x第二個數}int T = in.nextInt();//輸入詢問次數Tint[] x = new int[T];//數組x存放寶箱上的數字for (int k = 0;k < T;k++ ){x[k] = in.nextInt();//輸入寶箱上的數組}for (int k = 0;k < T;k++ ){int p =a[v[u[x[k]]]];//用p存儲密碼System.out.println(p);//輸出密碼}} }

總結

以上是生活随笔為你收集整理的急先锋开宝箱问题(Java实现)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲丝袜天堂 | 老色批影视 | www.一区 | 在线免费h | 欧美一级片a | 国产一区二区三区在线观看视频 | 国产激情一区二区三区 | av免费在线播放 | 中文字幕一区二区三区人妻四季 | 日本网站免费 | 欧美激情 亚洲 | 97爱爱视频 | 日本一级一片免费视频 | 亚洲欧美成人网 | www日本黄色 | 五月天激情综合 | 精品在线免费观看 | 玖玖免费| 综合久久久 | 我和单位漂亮少妇激情 | 美女隐私黄www网站动漫 | 国模丫头1000人体 | aa毛片视频 | 欧美一卡二卡三卡四卡 | 撸啊撸av| 特级毛片www| 亚洲欧美影院 | 大香蕉毛片 | 亚洲国产欧美在线人成 | 久久久久久久久亚洲 | 黄色的网站免费观看 | 啪啪影音 | av男女| 天堂在线资源库 | 亚洲av网址在线 | 又爽又黄又无遮挡 | 日本色图片 | 在线观看污污网站 | 性感少妇av | 伊人久综合| 四虎亚洲精品 | 波多野结衣乳巨码无在线 | 国产成人一级 | 香蕉视频网页版 | 四色成人网 | 亚洲性生活 | 四虎亚洲精品 | 性做久久久久久免费观看欧美 | 手机av在线不卡 | 少妇人妻综合久久中文字幕 | 爱乃なみ加勒比在线播放 | 在线一区av | 在线不卡av | 欧美国产成人精品一区二区三区 | 日日夜夜91| 一区二区三区视频网站 | 中文字幕日韩视频 | 国产美女裸体无遮挡免费视频 | 无码aⅴ精品一区二区三区浪潮 | 亚洲精品影视 | 欧美日韩人妻精品一区二区 | 欧美成人精品一区二区综合免费 | 婷婷综合 | 高h文在线 | 欧洲视频一区二区三区 | 欧美老女人性生活视频 | 97超级碰碰碰 | 白丝美女喷水 | 欧美一级二级片 | 最新中文字幕免费视频 | 亚洲国产tv | 免费观看黄色av | 日韩一区二区三区在线播放 | 99热成人 | 亚洲伦理在线 | 欧美妞干网 | 欧美日韩亚洲精品一区二区 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品网站入口 | 中文字幕最新 | 国产suv一区二区 | 成人四色| 91ts人妖另类精品系列 | 日本少妇裸体 | 亲子乱对白乱都乱了 | 美女国产毛片a区内射 | 国产精品久久国产精品99 | 日日夜夜人人 | 亚洲25p| 无码日本精品xxxxxxxxx | 日本天天色 | 久热热| chinese国产精品 | 你懂的在线免费观看 | 亚洲欧美一区二区视频 | 亚洲精品www. | 黄色一级网址 | 国产高清av在线 | 韩漫动漫免费大全在线观看 |