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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

愚蠢的宠物

發布時間:2025/3/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 愚蠢的宠物 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PID28 / [Stupid]愚蠢的寵物
  • 提交你的代碼
  • 查看討論和題解
10秒前 我的狀態 已通過 2016-01-27 18:00:02 運行耗時:691 ms 運行內存:20064 KB 查看最后一次評測記錄 ? 質量 8 題目評價 質量 8 ★★★★★ ★★★★☆ ★★★☆☆ ★★☆☆☆ ★☆☆☆☆ 54.5% 18.1% 9% 9% 9% ★ ? ★ ? ★ ? ★ ? ☆ ? 通過人數 2968 / 5975 通過統計 最短耗時 0ms 最小內存 0KB ? 并查集 題目標簽 類型

并查集?

題目描述

背景

大家都知道,sheep有兩只可愛的寵物(一只叫神牛,一只叫神菜)。有一天,sheep帶著兩只寵物到狗狗家時,這兩只可愛的寵物竟然迷路了……

描述

狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家里前院的路修得非常復雜。狗狗家前院有N個連通的分叉結點,且只有N-1條路連接這N個節點,節點的編號是1-N(1為根節點)。sheep的寵物非常笨,他們只會向前走,不會退后(只向雙親節點走),sheep想知道他們最早什么時候會相遇(即步數最少)。

N的范圍《=1000000

輸入格式

第1行:一個正整數N,表示節點個數。

第2~N行:兩個非負整數A和B,表示A是B的雙親。(保證A,B<=n)

第N+1行:兩個非負整數A和B,表示兩只寵物所在節點的位置。(保證A,B<=n)

輸出格式

輸出他們最早相遇的節點號。

樣例輸入:

10
? ? ? 1 2
? ? ? 1 3
? ? ? 1 4
? ? ? 2 5
? ? ? 2 6
? ? ? 3 7
? ? ? 4 8
? ? ? 4 9
? ? ? 4 10
? ? ? 3 6

樣例輸出:1

AC代碼:

#include<iostream> #include<cstdio> using namespace std; #define size 1000001 int father[size],rank[size]; int main() {int N;int i,j;int a,b;while(~scanf("%d",&N)){for(i=1;i<=N;i++){father[i]=i;rank[i]=0;}for(i=1;i<N;i++){scanf("%d %d",&a,&b);father[b]=a;}scanf("%d %d",&a,&b);while(1){rank[a]=1;a=father[a];if(a==1){rank[1]=1;break;}}while(1){if(rank[b]==1){printf("%d\n",b);break;}else{rank[b]=1;b=father[b];} }}return 0; }并查集解決,但是和常規的并查集不太一樣,需要做標記,剛開始沒有做標記WA了





總結

以上是生活随笔為你收集整理的愚蠢的宠物的全部內容,希望文章能夠幫你解決所遇到的問題。

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