문제


입출력


문제 요약

바구니는 N개가 있는데 1~N개까지의 바구니가 있고, 1~N번까지의 번호가 적힌 공이 있다.

공을 M번 넣는데

  1. 공을 넣을 바구니를 정하고
  2. 정한 바구니에 모두 같은 번호가 적힌 공을 넣는다.
  3. 바구니에 공이 있는 경우 들어있는 공을 빼고 새로운 공을 넣는다.

출력할 땐 1번 바구니부터 N번 바구니에 들어있는 공의 번호를 출력

 

그림으로 알아보자

 

N이 5개 이므로 바구니는 이렇게 설정이 될 것이다.

 

1 2 3

1~2번 바구니까지 3번 공을 집어 넣는다.

 

 

3 4 4

3~4번 바구니까지 4번 공을 집어 넣는다.

 

1 4 1

1~4번 바구니까지 1번 공을 집어 넣는다.

이때 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고 새로운 공을 넣는다.

 

2 2 2

2번 바구니에 2번 공을 집어 넣는다.

이때 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고 새로운 공을 넣는다.

 

이제 이대로 출력해준다


코드

#include <iostream>

using namespace std;

int N, M;
int arr[101] = { 0, };

void init() {
	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
}

void input() {
	cin >> N >> M;
}

void simulation() {
	for (int i = 0; i < M; i++) {
		int a, b, c;
		cin >> a >> b >> c;
		for (int k = a; k <= b; k++) {
			arr[k] = c;
		}
	}
}

void display() {
	for (int i = 1; i <= N; i++) {
		cout << arr[i] << " ";
	}
}

int main() {
	init();
	input();
	simulation();
	display();
}