반응형
문제
https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
풀이
간단한 배열 Swap 문제
소스코드
#include <stdio.h>
#include <stdlib.h>
void Swap(int* _arr, int _left, int _right);
int main(void)
{
int N, M;
int left, right;
int* arr;
scanf("%d %d", &N, &M);
arr = (int*)malloc(sizeof(int) * N);
for(int i = 0; i < N; i++)
{
arr[i] = i + 1;
}
for(int i = 0; i < M; i++)
{
scanf("%d %d", &left, &right);
Swap(arr, left-1, right-1);
}
for(int i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
free(arr);
return 0;
}
void Swap(int* _arr, int _left, int _right)
{
if(_left == _right) return;
int temp;
while(_left < _right )
{
temp = _arr[_left];
_arr[_left] = _arr[_right];
_arr[_right] = temp;
++_left;
--_right;
}
}
반응형
'프로그래밍 > 백준(BOJ)' 카테고리의 다른 글
[백준(BOJ) / C++][Gold Ⅲ] 10986번 : 나머지 합 (0) | 2024.06.16 |
---|---|
[백준(BOJ) / C++][Silver Ⅰ] 11660번 : 구간 합 구하기 5 (0) | 2024.06.13 |
[백준(BOJ) / C][Bronze Ⅰ] 10798번 : 세로읽기 (0) | 2024.01.28 |
[백준(BOJ) / C][Silver Ⅳ] 10866번 : 덱 (0) | 2024.01.16 |
[백준(BOJ) / C][Silver Ⅴ] 2669번 : 직사각형 네개의 합집합의 면적 구하기 (1) | 2024.01.14 |