Login with GitHub. Nope?
修正 C++ 的程式碼在使用一定量動態記憶體後會產生 RF 的問題 @ 2019/12/6 4:45pm NeoHOJ 強勢復活中 (Open beta)
Submit  Ranklist

Problem : 314 - 圓桌武士

Problem Statistics

Solved Member: 32  Submission: 347  User Tried: 42

Statement:

有一張圓桌,上面坐了 n 個武士,每個武士都有唯一一道自己喜歡的菜,他們也都希望可以夾到自己喜歡的菜。

這張桌子上每個人面前也剛好有一道菜,而且每道菜可以被夾無數次。不巧的是,因為禮貌的問題,每個人只能夾在自己面前的那一道菜。然而在每個人面前的菜不一定是自己喜歡的。因此他們必須旋轉圓桌(每次順時針 or 逆時針旋轉一格)來將自己喜歡的菜轉到面前。

每將圓桌順時針或者逆時針旋轉一格需要花 1 單位的時間,請問你至少要花多少時間才能夠讓每個人夾到自己喜歡的菜呢?

Input:Output:

第一行有一個數字 n,代表圓桌上有 n 個武士。
第二行上有 n 個數字,第 i 個數字代表第 i 個武士希望夾到的菜的編號(在 1 到 n 之間)。
第三行上有 n 個數字,第 i 個數字代表第 i 個武士目前面前的菜是哪一道,保證每個武士喜歡的菜都會出現。

40% 的測試資料滿足:n ≤ 2000
所有測試資料滿足: n ≤ 2000000
輸出一個數字,代表最少需要花多少時間才能讓所有武士夾到自己喜歡的東西。

Sample Input:Sample Output:

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

Source:

TOI 2013 1模

Problem Setter

Testdata:

TestTimeMemoryScore
01000ms262144kb
1-11000ms262144kb20
1-21000ms262144kb
1-31000ms262144kb
2-11000ms262144kb20
2-21000ms262144kb
2-31000ms262144kb
3-11000ms262144kb20
3-21000ms262144kb
3-31000ms262144kb
4-11000ms262144kb20
4-21000ms262144kb
4-31000ms262144kb
5-17000ms262144kb20
5-27000ms262144kb
5-37000ms262144kb