티스토리 뷰
나는 이거 엄청 삽질하고 개빡쳤는데 어떻게 정답률이 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);
'■ 알고리즘 > ◻ 백준' 카테고리의 다른 글
| [C#]백준 2750번 : 수 정렬하기 (0) | 2018.08.14 |
|---|---|
| [C#]백준 10813번 : 공 바꾸기 (0) | 2018.08.14 |
| [C#]백준 10811번 : 바구니 뒤집기 (0) | 2018.08.14 |
| [C#]백준 10810번 : 공 넣기 (0) | 2018.08.14 |
| [C#]백준 10808번 : 알파벳 개수 (0) | 2018.08.14 |