[BOJ] 24089 : ボールの移動 (Moving Balls)

Beautify.log·2022년 1월 28일
0

Coding Test Collections

목록 보기
10/10
post-thumbnail

問題


NN個のボールがあり、1からNNまでの番号が付けられている。
また、何個でもボールを入れることのできるNN個の箱があり、箱には1からNNまでの番号が付けられている。

ii1iN1≦i≦N)には最初、ボールiiが入っていた。

JOI高校の生徒である葵は、この状態から箱とボールに対してMM回の操作を行なった。

jj回目の(1jM1≦j≦M)の操作は、次のように行われた。

ボールXjX_jが入っている箱を探し、その箱からボールXjX_jを取り出す。その後、箱YjY_jにボール XjX_jを入れる。

葵がMM回の操作をすべて終えた後、NN個のボールがそれぞれどの箱に入っているかを求めよ。


INPUT & OUTPUT



INPUT & OUTPUTの例



コード作成


Java

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        // BOJ24089
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();                   // 공의 개수
        int m = sc.nextInt();                   // 조작 횟수
        
        int[] box = new int [n];                // 박스를 공의 개수만큼 만들어줌

        for (int i = 0; i < box.length; i++) {
            box[i] = i+1;                       // 조작하기 전 조건에 맞게 공 초기화
        }

        for (int i = 0; i < m; i++) {
            int x = sc.nextInt();               // 꺼낼 공
            int y = sc.nextInt();               // 옮길 상자
            box[x-1] = y;
        }

        for (int ball : box) {
            System.out.println(ball);           // 개행을 두고 공을 순서대로 출력
        }

    }
}

Kotlin

import java.util.Scanner

fun main(args: Array<String>) = with(Scanner(System.`in`)) {

    val n:Int = nextInt()    // 공의 개수
    val m:Int = nextInt()    // 조작 횟수

    var index = 1
    val box:Array<Int> = Array(n) { index++ }


    for(i in 0 until m) {
        val x:Int = nextInt()
        val y:Int = nextInt()
        box[x-1] = y
    }

    for(ball in box) {
        println(ball)
    }

}
profile
tried ? drinkCoffee : keepGoing;

0개의 댓글