C 번 ë¬¸ì œ : 줄 세우기. ì†ŒìŠ¤íŒŒì¼ ì´ë¦„ : ccc.c or ccc.cpp ìœ ì¹˜ì›ì— Nëª…ì˜ ì•„ì´ë“¤ì´ 있다. ì˜¤ëŠ˜ì€ ì†Œí’ì„ ê°€ëŠ” ë‚ ì´ë‹¤. ì„ ìƒë‹˜ì€ 1번부터 N번까지 번호가 ì 혀있는 번호표를 ì•„ì´ë“¤ì˜ ê°€ìŠ´ì— ë¶™ì—¬ì£¼ì—ˆë‹¤. ì„ ìƒë‹˜ì€ ì•„ì´ë“¤ì„ 효과ì 으로 보호하기 위해 목ì 지까지 번호순서대로 ì¼ë ¬ë¡œ 서서 걸어가ë„ë¡ í•˜ì˜€ë‹¤. ì´ë™ ë„ì¤‘ì— ë³´ë‹ˆ ì•„ì´ë“¤ì˜ 번호순서가 바뀌었다. 그래서 ì„ ìƒë‹˜ì€ 다시 번호 순서대로 ì¤„ì„ ì„¸ìš°ê¸° 위해서 ì•„ì´ë“¤ì˜ 위치를 ì˜®ê¸°ë ¤ê³ í•œë‹¤. ê·¸ë¦¬ê³ ì•„ì´ë“¤ì´ 혼란스러워하지 ì•Šë„ë¡ í•˜ê¸° 위해 위치를 옮기는 ì•„ì´ë“¤ì˜ 수를 최소로 í•˜ë ¤ê³ í•œë‹¤. 예를 들어, 7ëª…ì˜ ì•„ì´ë“¤ì´ 다ìŒê³¼ ê°™ì´ ìˆœì„œëŒ€ë¡œ ì¤„ì„ ì„œ ìžˆë‹¤ê³ í•˜ìž. 3 7 5 2 6 1 4 ì•„ì´ë“¤ì„ 순서대로 ì¤„ì„ ì„¸ìš°ê¸° 위해, ë¨¼ì € 4번 ì•„ì´ë¥¼ 7번 ì•„ì´ì˜ 뒤로 옮겨보ìž. 그러면 다ìŒê³¼ ê°™ì€ ìˆœì„œê°€ ëœë‹¤. 3 7 4 5 2 6 1 ì´ì œ, 7번 ì•„ì´ë¥¼ 맨 뒤로 옮긴다. 3 4 5 2 6 1 7 다ìŒ, 1번 ì•„ì´ë¥¼ 맨 앞으로 옮긴다. 1 3 4 5 2 6 7 마지막으로 2번 ì•„ì´ë¥¼ 1번 ì•„ì´ì˜ 뒤로 옮기면 번호 순서대로 배치ëœë‹¤. 1 2 3 4 5 6 7 ìœ„ì˜ ë°©ë²•ìœ¼ë¡œëŠ” ëª¨ë‘ ë„¤ ëª…ì˜ ì•„ì´ë¥¼ 옮겨 번호 순서대로 ì¤„ì„ ì„¸ìš´ë‹¤. ìœ„ì˜ ì˜ˆì—ì„œ ì„¸ëª…ì˜ ì•„ì´ë§Œì„ 옮겨서는 순서대로 ë°°ì¹˜í• ìˆ˜ ê°€ 없다. ë”°ë¼ì„œ 네 ëª…ì„ ì˜®ê¸°ëŠ” ê²ƒì´ ê°€ìž¥ ì ì€ ìˆ˜ì˜ ì•„ì´ë¥¼ 옮기는 것ì´ë‹¤. Nëª…ì˜ ì•„ì´ë“¤ì´ ìž„ì˜ì˜ 순서로 ì¤„ì„ ì„œ ìžˆì„ ë•Œ, 번호 순서대로 배치하기 위해 옮겨지는 ì•„ì´ì˜ 최소 수를 구하는 í”„ë¡œê·¸ëž¨ì„ ìž‘ì„±í•˜ì‹œì˜¤. === ìž…ë ¥ === ìž…ë ¥ì€ í‘œì¤€ ìž…ë ¥ì´ë‹¤. ìž…ë ¥ì˜ ì²«ì¤„ì— í…ŒìŠ¤íŠ¸ ì¼€ì´ìŠ¤ì˜ 개수를 나타내는 ì •ìˆ˜ T(10 ì´í•˜)ê°€ 주어진다. ë‹¤ìŒ ì¤„ 부터 Tê°œì˜ í…ŒìŠ¤íŠ¸ ì¼€ì´ìŠ¤ê°€ 주어진다. 테스트케ì´ìŠ¤ì˜ 첫째 줄ì—는 ì•„ì´ë“¤ì˜ 수 Nì´ ì£¼ì–´ì§„ë‹¤. 둘째 줄ì—는 Nëª…ì˜ ì•„ì´ë“¤ì˜ 순서를 나타내는, 1부터 N 사ì´ì˜ ì •ìˆ˜ë¡œ ì´ë¤„진 ìˆœì—´ì´ ì£¼ì–´ì§„ë‹¤. 순열ì—ì„œ ì •ìˆ˜ 사ì´ì—는 ë¹ˆì¹¸ì´ í•˜ë‚˜ 들어 있다. Nì€ 2ì´ìƒ 200ì´í•˜ì˜ ì •ìˆ˜ì´ë‹¤. === ì¶œë ¥ === ì¶œë ¥ì€ í‘œì¤€ ì¶œë ¥ì´ë‹¤. ì¶œë ¥ì€ T줄로 ì´ë¤„진다. ê° í…ŒìŠ¤íŠ¸ ì¼€ì´ìŠ¤ì— 대해서 번호 순서대로 ì¤„ì„ ì„¸ìš°ëŠ”ë° ì˜®ê²¨ì§€ëŠ” ì•„ì´ë“¤ì˜ 최소 수를 ì¶œë ¥í•œë‹¤. Tê°œì˜ í…ŒìŠ¤íŠ¸ ì¼€ì´ìŠ¤ë¥¼ ëª¨ë‘ ë§ží˜€ì•¼ ì´ ë¬¸ì œë¥¼ 맞힌 것ì´ë‹¤. === ìž…ë ¥ì˜ ì˜ˆ === {{{~cpp 3 7 3 7 5 2 6 1 4 6 6 5 4 3 2 1 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 }}} === ìž…ë ¥ì˜ ì˜ˆì— ëŒ€í•œ ì¶œë ¥ === {{{~cpp 4 5 0 }}} ---- [ë¬¸ì œë¶„ë¥˜]