๐Ÿ“ฆ Chango/๐Ÿฃ EDOC

[BOJ][C++] ๋ฐฑ์ค€ 14594๋ฒˆ : ๋™๋ฐฉ ํ”„๋กœ์ ํŠธ (Small)

์„ ๋‹ฌ 2021. 11. 26. 17:43
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/14594

14594๋ฒˆ: ๋™๋ฐฉ ํ”„๋กœ์ ํŠธ (Small)

์ฒซ ๋ฒˆ์งธ ํ–‰๋™์œผ๋กœ 1๋ฒˆ๊ณผ 2๋ฒˆ ๋ฐฉ์ด ํ•ฉ์ณ์ ธ (1, 2), (3), (4), (5) ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ์ดํ›„ ๋‘ ๋ฒˆ์งธ ํ–‰๋™์œผ๋กœ 2, 3, 4๋ฒˆ ๋ฐฉ์ด ํ•ฉ์ณ์ ธ (1, 2, 3, 4), (5)์˜ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚จ์•„์žˆ๋Š” ๋™๋ฐฉ์˜ ์ˆ˜๋Š” 2๊ฐ€ ๋œ๋‹ค.

www.acmicpc.net

๋ฌธ์ œ

๋™์•„๋ฆฌ๋ฐฉ์ด ๊ฐ€์ง€๊ณ  ์‹ถ์—ˆ๋˜ ๋ณ‘์ฐฌ์ด๋Š” LINK ์‚ฌ์—…๋‹จ์— ๋ฌธ์˜ํ•˜์—ฌ N๊ฐœ์˜ ๋ฐฉ ์ค‘์˜ ํ•˜๋‚˜๋ฅผ ์–ป์„ ๊ธฐํšŒ๋ฅผ ์–ป์—ˆ๋‹ค. ์ผ์ž๋กœ ๋˜์–ด์žˆ๋Š” ๊ฑด๋ฌผ์— N๊ฐœ์˜ ๋ฐฉ์€ ์ผ์ง์„ ์ƒ์— ์กด์žฌํ•˜๋ฉฐ, ๊ฐ ๋ฐฉ์—๋Š” ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ๋‹ค. ๋งจ ์™ผ์ชฝ ๋ฐฉ์˜ ๋ฒˆํ˜ธ๋Š” 1๋ฒˆ์ด๋ฉฐ, ์ˆœ์„œ๋Œ€๋กœ ์ฆ๊ฐ€ํ•˜์—ฌ ๋งจ ์˜ค๋ฅธ์ชฝ ๋ฐฉ์˜ ๋ฒˆํ˜ธ๊ฐ€ N๋ฒˆ์ด๋‹ค. ๊ฐ ๋ฐฉ ์‚ฌ์ด์—๋Š” ๋ฐฉ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฒฝ์ด ์กด์žฌํ•œ๋‹ค.

๋ฌผ๋ก  ๋ณ‘์ฐฌ์ด ์™ธ์—๋„ ๋งŽ์€ ์‚ฌ๋žŒ์ด ๋™์•„๋ฆฌ๋ฐฉ์„ ์›ํ•œ๋‹ค. ๋‹คํ–‰ํžˆ ๋ฐฉ์€ ์ถฉ๋ถ„ํ–ˆ๊ธฐ์— ๋ณ‘์ฐฌ์ด๋Š” ์•ˆ์‹ฌํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒโ€ฆ

๊ทธ๋•Œ์˜€๋‹ค.

๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์ด ๋‚˜ํƒ€๋‚˜ ๊ฑด๋ฌผ ๋ฒฝ์„ ํ—ˆ๋ฌผ๊ธฐ ์‹œ์ž‘ํ•œ ๊ฒƒ์ด๋‹ค! ๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์œผ๋กœ ๋ฒฝ์„ ๋ฌด๋„ˆ๋œจ๋ฆฐ๋‹ค.

  • x < y ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋‘ ๋ฐฉ์— ๋Œ€ํ•ด์„œ x๋ฒˆ ๋ฐฉ๋ถ€ํ„ฐ y๋ฒˆ ๋ฐฉ ์‚ฌ์ด์— ์žˆ๋Š” ๋ชจ๋“  ๋ฒฝ์„ ํ—ˆ๋ฌธ๋‹ค.
  • ๋‘ ๋ฐฉ ์‚ฌ์ด์˜ ๋ฒฝ์ด ํ—ˆ๋ฌผ์–ด์ง€๋ฉด ๋‘ ๋ฐฉ์€ ํ•˜๋‚˜์˜ ๋ฐฉ์œผ๋กœ ํ•ฉ์ณ์ง„๋‹ค.
  • ์ด๋ฏธ ํ—ˆ๋ฌผ์–ด์ง„ ๋ฒฝ์ด ์กด์žฌํ•œ๋‹ค๋ฉด ๋ฌด์‹œํ•˜๊ณ  ๋‹ค์Œ ๋ฒฝ์„ ํ—ˆ๋ฌธ๋‹ค.
  • ๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์€ ๊ฑด๋ฌผ์ด ๋ฌด๋„ˆ์ง€๋Š” ๊ฑธ ์›์น˜ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, 1๋ฒˆ ๋ฐฉ์˜ ์™ผ์ชฝ ๋ฒฝ๊ณผ N๋ฒˆ ๋ฐฉ์˜ ์˜ค๋ฅธ์ชฝ ๋ฒฝ(์ฆ‰, ๋ฐ”๊นฅ๊ณผ ์—ฐ๊ฒฐ๋œ ๋ฒฝ)์€ ํ—ˆ๋ฌผ์ง€ ์•Š๋Š”๋‹ค.

๋™์•„๋ฆฌ ๋ฐฉ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ ์  ์ค„์–ด๋“ค์ž ๋ณ‘์ฐฌ์ด๋Š” ์ดˆ์กฐํ•ด์กŒ๋‹ค. ์ด์— ๋ณ‘์ฐฌ์ด๋Š” ๋™์•„๋ฆฌ๋ฐฉ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ํ™•๋ฅ ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚จ๋Š” ๋™์•„๋ฆฌ๋ฐฉ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ  ์‹ถ์–ด ํ•œ๋‹ค. ๋ณ‘์ฐฌ์ด๋ฅผ ์œ„ํ•ด ๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์˜ ํ–‰๋™ ํšŸ์ˆ˜ M๊ณผ ๋™๋ฐฉ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‚จ์€ ๋™์•„๋ฆฌ๋ฐฉ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•ด์ฃผ์ž.

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋™์•„๋ฆฌ๋ฐฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์–‘์˜ ์ •์ˆ˜ N(2 โ‰ค N โ‰ค 100) ์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์˜ ํ–‰๋™ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜ M(0 โ‰ค M โ‰ค 100) ์ด ์ฃผ์–ด์ง„๋‹ค. ์„ธ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์˜ ํ–‰๋™์ด ์–‘์˜ ์ •์ˆ˜ x, y(1 โ‰ค x < y โ‰ค N) ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์—ฌ๊ธฐ์„œ ํ–‰๋™์ด๋ž€ x๋ฒˆ ๋ฐฉ๋ถ€ํ„ฐ y๋ฒˆ ๋ฐฉ ์‚ฌ์ด์˜ ๋ฒฝ์„ ๋ฌด๋„ˆ๋œจ๋ฆฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์€ ๋งค์šฐ ํ—ˆ๋‹น์ด๊ธฐ ๋•Œ๋ฌธ์— ๋™์ผํ•œ ํ–‰๋™์„ ์—ฌ๋Ÿฌ ๋ฒˆ ํ•  ์ˆ˜ ์žˆ์Œ์— ์œ ์˜ํ•˜๋ผ.

์ถœ๋ ฅ

๋น…-์ข…๋นˆ๋นŒ๋Ÿฐ์˜ ๋ชจ๋“  ํ–‰๋™์ด ๋๋‚œ ํ›„ ๋‚จ์•„์žˆ๋Š” ๋™๋ฐฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ํ•œ ์ค„์— ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

๋ฐฉ๋ณด๋‹ค๋Š” ๋ฒฝ์— ์ดˆ์ ์„ ๋‘ฌ์„œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๋‹ˆ ์‰ฝ๊ฒŒ ํ’€๋ ธ๋‹ค

์•ˆ๋ถ€์ˆด์ง„ ๋ฒฝ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ณ  +1 ํ•ด์ฃผ๋ฉด ๋

#include <iostream>

using namespace std;

int main() {
    
    int n,m;
    cin >> n >> m;
    
    bool wall[n-1];
    for(int i=0; i<n-1; i++){
        wall[i] = true;
    }
    
    for(int i=0; i<m; i++){
        int x, y;
        cin >> x >> y;
        
        for(int j=x-1; j<y-1; j++){
            wall[j] = false;
        }
    }
    
    int cnt = 0;
    for(int i=0; i<n-1; i++){
        if(wall[i] == true)
            cnt++;
    }
    
    cout << cnt+1;
    
    return 0;
}
๋ฐ˜์‘ํ˜•