一道很好的思維題,要思考怎麼模擬成環的這個操作並且把它走過的距離儲存下來,類似並查集父結點的思想。
單純暴力會超時(加上剪枝也超時)
暴力超時**,80分
1 #include 2 #include3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9
using
namespace
std;
10int a[1000005
];11
intn;
12int ans=1e9;
1314
void so(int last,int t,int
y)15
2324 so(a[last],t+1
,y);25}
2627
28int
main()
2939
40 cout4142
return0;
43 }
ac**
1 #include 2 #include3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9
using
namespace
std;
10int a[1000005
];11
int fa[1000005];//
父節點12
int ra[1000005];//
深度13
intn;
14int ans=1e9;
1516
void so(int last,int t,int
y)17
2324 fa[last]=y;
25 ra[last]=t;
26 so(a[last],t+1
,y);27}
2829
30int
main()
3141
42 cout4344
return0;
45 }
完。
洛谷P2661 資訊傳遞
有n個同學 編號為1到n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資訊,但是每...
洛谷 P2661 資訊傳遞
有 n個同學 編號為1到 n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為 i的同學的資訊傳遞物件是編號為 ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資訊...
洛谷 P2661 資訊傳遞
有 nn n 個同學 編號為 11 1 到 nn n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為 ii i 的同學的資訊傳遞物件是編號為 tit iti 的同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳...