g308. pB. 跳跳布朗尼(Brownie)
標籤 : 陣列
通過比率 : 304人/315人 ( 97% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-09-14 21:10

內容

現在有 N 個格子,由左至右值分別為 x0, x1, x2, ..., xN-1

每個格子上都有一個數字,代表其傳送點編號;

當你踏進格子 i 時,將會觸發其傳送點,並被傳送至編號 xi 的格子中;

之後繼續觸發下個傳送點,依序往復。

 

傳送點在發揮過一次效力後就會被破壞,

也就是傳送的過程,會在被傳送到「曾經走過」的格子時停止。

 

現在已知某些格子上放有好吃的布朗尼,

熱愛甜點的你,當然希望能夠吃到越多越多。

 

給定由編號 T 的格子出發,經過傳送點的傳送,請問最多可以吃到幾個布朗尼?

輸入說明

第一行有兩個正整數 N 和 T

代表總共有 N 個格子 ( 1 ≤ N ≤ 1000 ),並且將從編號 T ( 0 ≤ T ≤ N-1 ) 的格子開始

 

第二行由左至右有 N 個正整數 x( 0 ≤ xi ≤ N-1 )

兩兩之間以空格隔開,代表傳送點資訊

 

第三行由左至右有 N 個正整數 y( yi = 0 或 1 )

兩兩之間以空格隔開,代表該格有 (yi = 1) 或 沒有 (yi = 0) 布朗尼

輸出說明

最多可以吃到幾個布朗尼

範例輸入 #1
6 3
0 5 0 4 2 0
0 0 1 0 1 0
範例輸出 #1
2
範例輸入 #2
13 12
3 0 0 5 1 3 1 2 0 8 3 0 9
1 1 0 0 1 0 1 0 1 1 1 0 0
範例輸出 #2
3
測資資訊:
記憶體限制: 64 MB
提示 :
標籤:
陣列
出處:
110學年度hgsh校內賽 [管理者: mushroom.cs9 ... (mushroom) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
33814 zc931114@gma ... (Hsieh Johnson) g308
解題思路(C++AC)
398 2023-02-05 15:04
27158 r1cky (hehe) g308
Java 解題心得
673 2021-09-15 20:42