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

Problem : 125 - 消方塊

Special Judge

Problem Statistics

Solved Member: 17  Submission: 43  User Tried: 17

Statement:

Byteotia 流行一種叫做消方塊的H Game(heuristic game)。遊戲是由 2*N 個上面寫著 1 到 N 的方塊組成的,每一個數字的方塊恰好有 2 個。遊戲規則是這樣的,玩家會拿到一疊 2*N 的方塊,每次可以交換任意兩個相鄰的方塊,當相鄰的兩個方塊數字一樣時,方塊就會自動消失。玩家一直重複交換的動作,直到所有的方塊不見為止。

Input:Output:

第 1 行有一個正整數 N(1 ≤ N ≤ 50000),接下來有 2N 行,每行有一個數字 Ai(1 ≤ Ai ≤ N),代表由下至上方塊上的數字。
測試資料保證 1 到 N 的數字都恰好出現兩次,並且任意兩相鄰的數字皆不相同。
輸出第 1 行請輸出一個數字 m,代表最少需要幾次交換才能消完所有方塊。並且你可以假設這一題的測資經過特殊的設計,最佳的交換次數皆不會超過 1000000 次。
後面的 m 行每行有一個數字 Pi(1 ≤ Pi < 現有方塊數),代表交換由下往上數的第 Pi 以及 Pi+1 個方塊。
如果有多組方案可行,請輸出任何一組。

Sample Input:Sample Output:

SAMPLE A:
5
5
2
3
1
4
1
4
3
5
2

SAMPLE B:
3
1
2
3
1
2
3
SAMPLE A:
2
5
2

SAMPLE B:
3
3
4
2

HINT:

SAMPLE A:


SAMPLE B:

Source:

POI 14 Stage 2

Problem Setter

Testdata:

TestTimeMemoryScore
0-12000ms32768kb
0-22000ms32768kb
1-ocen2000ms32768kb
12000ms32768kb6
2-ocen2000ms32768kb
22000ms32768kb6
3-ocen2000ms32768kb
32000ms32768kb6
4-ocen2000ms32768kb
42000ms32768kb6
5-ocen8000ms32768kb
52000ms32768kb6
62000ms32768kb7
72000ms32768kb7
82000ms32768kb7
92000ms32768kb7
10-12000ms32768kb7
10-22000ms32768kb
11-12000ms32768kb7
11-22000ms32768kb
122000ms32768kb7
132000ms32768kb7
142000ms32768kb7
15-12000ms32768kb7
15-22000ms32768kb