SWLUG/๋ฐฑ์ค€ BEAKJOON

[C] ๋ฐฑ์ค€ BAEKJOON 10813๋ฒˆ: ๊ณต ๋ฐ”๊พธ๊ธฐ

waterproof 2023. 11. 7. 13:53

 

 


[1] ๋ฌธ์ œ

 

 

 

๋ฌธ์ œ

๋„ํ˜„์ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด 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๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์— ๋“ค์–ด์žˆ๋Š” ๊ณต์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

 


์˜ˆ์ œ ์ž…๋ ฅ 1 

5 4
1 2
3 4
1 4
2 2

 

 

์˜ˆ์ œ ์ถœ๋ ฅ 1 

3 1 4 2 5

 

 


[2] ์ •๋‹ต

 

#include <stdio.h>

int main() {
	/* 
    	n = ๊ณต์˜ ๊ฐœ์ˆ˜
        m = ๊ณต ๋ฐ”๊พธ๋Š” ํšŸ์ˆ˜
        a = ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 1
        b = ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 2
        t = ๋ฐ”๊ตฌ๋‹ˆ ์ž„์‹œ ์ €์žฅ ๋ณ€์ˆ˜
        e = ๋ฐ”๊ตฌ๋‹ˆ ๋ฐฐ์—ด
	*/
    int n, m, a, b, t, e[100];
    
    // ๊ณต์˜ ๊ฐœ์ˆ˜์™€ ๊ณต์„ ๋ฐ”๊พธ๋Š” ํšŸ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
    scanf("%d %d", &n, &m);
    
    // ๋ฐ”๊ตฌ๋‹ˆ ๋ฐฐ์—ด์— n๊ฐœ ๋งŒํผ์˜ ๊ณต์„ ๋„ฃ๋Š”๋‹ค.
    for(int i=0; i<n; i++) e[i] = i+1;
    
    // m๋ฒˆ ๊ณต์„ ๋ฐ”๊พผ๋‹ค.
    for(int i=0; i<m; i++) {
    	// ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 2๊ฐœ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
        scanf("%d %d", &a, &b);
        
        // ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 1์„ t์— ์ €์žฅํ•œ๋‹ค.
        t = e[a-1];
        
        // ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 1์„ ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 2์™€ ๋ฐ”๊พผ๋‹ค.
        e[a-1] = e[b-1];
        
        // ๋ฐ”๊ฟ€ ๋ฐ”๊ตฌ๋‹ˆ 2๋ฅผ ์ €์žฅํ•ด๋‘” t(๋ฐ”๊ตฌ๋‹ˆ 1)์™€ ๋ฐ”๊พผ๋‹ค.
        e[b-1] = t;
    }
    
    // ๋ฐ”๋€ ๋ฐ”๊ตฌ๋‹ˆ๋“ค์˜ ์ˆœ์„œ์— ๋งž๊ฒŒ ๊ณต๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค.
    for(int i=0; i<n; i++) printf("%d ", e[i]);
    
    return 0;
}

 

 

 

 

 


[3] ํ•ด์„

 

 

1. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ณต์˜ ๊ฐœ์ˆ˜ n๊ณผ ๊ณต์„ ๋ฐ”๊พธ๋Š” ํšŸ์ˆ˜ m์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

2. e ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ๊ฐ ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” ๊ณต์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

3. m๋ฒˆ ๋งŒํผ ๊ณต์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ๊ตํ™˜ํ•˜๊ณ , ๊ทธ์— ๋”ฐ๋ผ e ๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค๋„ ๋ฐ”๋€๋‹ค.  (๋ฐฐ์—ด์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ a-1์„ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•œ๋‹ค.)

4. ๋ฐ”๋€ ๋ฐ”๊ตฌ๋‹ˆ๋“ค์˜ ์ˆœ์„œ์— ๋งž๊ฒŒ ๊ณต๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค.


[5] ์ฐธ๊ณ 

 

 

https://goalsdhkdwk.tistory.com/entry/BOJ%EB%B0%B1%EC%A4%80-10813%EB%B2%88-%EA%B3%B5-%EB%B0%94%EA%BE%B8%EA%B8%B0-cc-%ED%92%80%EC%9D%B4

 

[BOJ/๋ฐฑ์ค€] 10813๋ฒˆ ๊ณต ๋ฐ”๊พธ๊ธฐ - [c/c++] ํ’€์ด

https://www.acmicpc.net/problem/10813 10813๋ฒˆ: ๊ณต ๋ฐ”๊พธ๊ธฐ ๋„ํ˜„์ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด N๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” ๊ณต์ด 1๊ฐœ์”ฉ ๋“ค์–ด์žˆ๊ณ , ์ฒ˜์Œ์—๋Š” ๋ฐ”๊ตฌ

goalsdhkdwk.tistory.com

 

 

 

https://velog.io/@gjehdtjr911/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%B1%EC%A4%80-10813-%EA%B3%B5-%EB%B0%94%EA%BE%B8%EA%B8%B0-C

 

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฑ์ค€ 10813 ๊ณต ๋ฐ”๊พธ๊ธฐ - C

์ด ๋ฌธ์ œ๋Š” ๋ฐ”๊ตฌ๋‹ˆ ์•ˆ์— ์žˆ๋Š” ๊ณต๋“ค์„ ๋ฐ”๊ฟ€๋•Œ ์ž ์‹œ ์ €์žฅ ํ•ด๋‘๋Š” ๋ถ€๋ถ„์„ ์ฃผ์˜ํ•˜์—ฌ ํ’€์–ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

velog.io