從前有一個小孩叫 Kino,非常喜歡旅行,到過許多奇奇怪怪的地方。有一天他走到了一座大橋旁,發現橋上停著許多敞篷車。不幸的是,橋很窄,並排只能通過一輛敞篷車,但橋上的車相互之間互不避讓,導致兩個方向來的車都堵在一起無法通行。
後來,建造者給橋加入一個新的功能,即讓橋中的某一段旋轉 $180$ 度,使得此段上的敞篷車頭尾旋轉,如下圖所示:
圖 1. 敞篷車 321 旋轉後形成 123
如上圖所示,敞篷車 321 在橋上和敞篷車 45 相遇後造成了交通堵塞,此時我們可以對 321 進行旋轉,這樣橋上的敞篷車順序就變成了 12345,而且它們的行進方向也相同,這樣就可以從橋上開下來了。當然,這只是一個簡單的例子,在實際的橋上情況要複雜得多,需要多次旋轉才能變成 12345 的形式。
但是,設計師在設計好橋之後也去旅行了,剩下的居民中沒有人會操縱這座神奇的大橋。所以橋上就越開越亂,終於最後有一天形成了現在的局面。現在 Kino 為了過橋,在橋邊找到了控制橋的裝置和說明書,重新找到了操縱橋的方法,並在附近居民的幫助下成功地把橋上的敞篷車排成了 $1,2,3,\ldots$ 並且方向都相同的形式。請問你知道他是怎麼做的嗎?
輸入格式
本題是提交答案式題目,輸入檔案 convertible1.in 至 convertible10.in 已經放在使用者目錄中。輸入檔案的第一行為橋上敞篷車的數目 $n$,敞篷車編號為 $1,2,\ldots,n$。第二行為橋上敞篷車的位置和方向,用 $+i$ 或 $-i$ 的序列表示。第 $j$ 個位置上為 $-i$ 表示橋的第 $j$ 個位置上有敞篷車 $i$ 且方向向右,第 $j$ 個位置上為 $+i$ 表示橋的第 $j$ 個位置上有敞篷車 $i$ 且方向向左。
輸出格式
你應該把輸出檔案 convertible1.out 至 convertible10.out 放在使用者目錄中,而不需要提交程式。輸出檔案的第一行為旋轉次數 $m$,以下 $m$ 行,每行為一次旋轉,包括左邊界位置和右邊界位置。你的輸出應該保證最終序列為 $1,2,3,\ldots,n$,而不是 $-1,-2,-3,\ldots,-n$ 或其他。
範例
輸入格式 1
5 -3 -2 -1 4 5
輸出格式 1
1 1 3
子任務
每個測試點滿分為 10 分,得分取決於你的分數與參考答案的優劣程度之比。
如何測試你的程式
本題提供輸出資料檢查器 convertible_c,執行方法如下:
#./convertible_c 3
表示檢查 convertible3.out 是否合法。