๐Ÿ’  Cpp/[BOJ] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ

[BOJ][C++] ๋ฐฑ์ค€ 10813๋ฒˆ: ๊ณต ๋ฐ”๊พธ๊ธฐ (Bronze II)

์„ ๋‹ฌ 2024. 12. 16. 05:52
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

๋„ํ˜„์ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด N๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” ๊ณต์ด 1๊ฐœ์”ฉ ๋“ค์–ด์žˆ๊ณ , ์ฒ˜์Œ์—๋Š” ๋ฐ”๊ตฌ๋‹ˆ์— ์ ํ˜€์žˆ๋Š” ๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ๋ฒˆํ˜ธ๊ฐ€ ์ ํžŒ ๊ณต์ด ๋“ค์–ด์žˆ๋‹ค.
๋„ํ˜„์ด๋Š” ์•ž์œผ๋กœ M๋ฒˆ ๊ณต์„ ๋ฐ”๊พธ๋ ค๊ณ  ํ•œ๋‹ค. ๋„ํ˜„์ด๋Š” ๊ณต์„ ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 2๊ฐœ๋ฅผ ์„ ํƒํ•˜๊ณ , ๋‘ ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๊ณต์„ ์„œ๋กœ ๊ตํ™˜ํ•œ๋‹ค.
๊ณต์„ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ€์ง€๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M๋ฒˆ ๊ณต์„ ๋ฐ”๊พผ ์ดํ›„์— ๊ฐ ๋ฐ”๊ตฌ๋‹ˆ์— ์–ด๋–ค ๊ณต์ด ๋“ค์–ด์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N (1 ≤ N ≤ 100)๊ณผ M (1 ≤ M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค.
๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ ๊ณต์„ ๊ตํ™˜ํ•  ๋ฐฉ๋ฒ•์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋ฐฉ๋ฒ•์€ ๋‘ ์ •์ˆ˜ i j๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, i๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์™€ j๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๊ณต์„ ๊ตํ™˜ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. (1 ≤ i ≤ j ≤ N)
๋„ํ˜„์ด๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๊ณต์„ ๊ตํ™˜ํ•œ๋‹ค.

์ถœ๋ ฅ

1๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ N๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๊ณต์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

// ํ’€์ด : https://whkakrkr.tistory.com

#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
	cout.tie(NULL);
	cin.tie(NULL);
	
	// input
	int n,m, i,j;
    cin >> n >> m;
    vector<int>basket(n+1, 0);
    for(int t=1; t<=n; t++) {
        basket[t] = t;
    }
    
    // solution
    while(m--) {
        cin >> i >> j;
        int tmp = basket[i];
        basket[i] = basket[j];
        basket[j] = tmp;
    }

    // output
    for(int t=1; t<=n; t++) {
        cout << basket[t] << " ";
    }
    
    return 0;
}
๋ฐ˜์‘ํ˜•