티스토리 뷰

나는 이거 엄청 삽질하고 개빡쳤는데 어떻게 정답률이 80퍼지...

했는데 C++,java에서 rotate를 지원한다.. 허탈 C#은 그런거 없음 

C#으로 푼사람이 나밖에없네 시펄


temp배열에 순서대로 바뀐 바구니를 저장하고, 기존 바구니에 temp값을 덮어씌울것이다.

Swap이 안되기 때문에(서로 1:1 교환이 아니다) temp가 필요하다...


여기서 rotate 식이 좀 개같은데 

(start + ㅁ ) % cnt + start가 middle값이 나오면 된다.

풀면 mid - 2 * start임 아무튼 ㅅㅂ 설명할 힘 없음 그런줄 알아라 미래의 나야


BufferedStream bs = new BufferedStream(Console.OpenStandardInput()); StreamReader sr = new StreamReader(bs); string[] nm = Console.ReadLine().Split(); int[] basket = new int[int.Parse(nm[0]) + 1]; int[] temp = new int[basket.Length]; for (int i = 1; i < basket.Length; i++) basket[i] = i; int num = int.Parse(nm[1]); int start; int mid; int end; while (num-- > 0) { nm = Console.ReadLine().Split(); start = int.Parse(nm[0]); mid = int.Parse(nm[2]); end = int.Parse(nm[1]); int cnt = end - start + 1; for (int i = start; i <= end; i++) temp[i] = basket[(i + mid - 2 * start) % cnt + start]; for (int i = start; i <= end; i++) basket[i] = temp[i]; } StringBuilder sb = new StringBuilder(); for (int i = 1; i < basket.Length; i++) sb.Append(basket[i] + " "); Console.WriteLine(sb);

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함