SMALL
https://www.acmicpc.net/problem/17827
17827번: 달팽이 리스트
첫째 줄에 노드의 개수 N(2 ≤ N ≤ 200,000), 질문의 횟수 M(1 ≤ M ≤ 200,000), N번 노드가 가리키는 노드의 번호 V(2 ≤ V ≤ N)가 공백으로 구분되어 주어진다. 둘째 줄에 N개의 정수 C1, C2, …, CN이 공백
www.acmicpc.net
- 문제
- 문제풀이
만약 입력받는 수 K가 N보다 작다면 K번째 배열을 출력하고 만약 N보다 큰 수가 나온다면 V전까지를 빼고 나머지를 구한뒤 다시 V를 넣고 배열을 출력해준다.
- 코드 1
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, m, v, x;
scanf("%d %d %d", &n, &m, &v);
int* arr = new int[n];
for (int i = 0; i < n; i++) {
scanf("%d",&arr[i]);
}
for (int i = 0; i < m; i++) {
int q;
scanf("%d", &q);
if (q < n) {
printf("%d\n", arr[q]);
}
else {
int round = n - v + 1;
q -= v - 1;
printf("%d\n", arr[q % round + v - 1]);
}
}
return 0;
}
- 후기
태블릿에 노가다로 그려보면서 풀었더니 손이 아프다
LIST
'백준 > C언어' 카테고리의 다른 글
[C언어]백준 1978번: 소수 찾기 (0) | 2023.02.04 |
---|---|
[C언어]백준 2960번: 에라토스테네스의 체 (0) | 2023.02.02 |
[C언어]백준 23253번: 자료구조는 정말 최고야 (0) | 2023.01.28 |
[C언어]백준 2869번: 달팽이는 올라가고 싶다 (0) | 2023.01.28 |
[C언어]백준 2563: 색종이 (0) | 2023.01.28 |