๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 21918๋ฒˆ - ์ „๊ตฌ

by ์•ˆ์ฃผํ˜• 2022. 3. 1.

๋ฌธ์ œ

 

21918๋ฒˆ: ์ „๊ตฌ

$N$๊ฐœ์˜ ์ „๊ตฌ๊ฐ€ ์žˆ๊ณ  ๋งจ ์™ผ์ชฝ์— ์žˆ๋Š” ์ „๊ตฌ๋ฅผ ์ฒซ ๋ฒˆ์งธ๋ผ๊ณ  ํ•˜์ž. ์ „๊ตฌ์˜ ์ƒํƒœ๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•œ๋‹ค. $1$์€ ์ „๊ตฌ๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๊ณ , $0$์€ ์ „๊ตฌ๊ฐ€ ๊บผ์ ธ ์žˆ๋Š” ์ƒํƒœ๋ฅผ

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N, M; cin>>N>>M;
    int bulb[4001]={0, };
    
    for(int i=1; i<=N; i++){
        cin>>bulb[i];
    }
    for(int i=0; i<M; i++){
        int a,b,c; cin>>a>>b>>c;
        
        if(a==1) bulb[b]=c; //1๋ฒˆ ๋ช…๋ น์–ด
        
        else if(a==2){  //2๋ฒˆ ๋ช…๋ น์–ด
            for(int i=b; i<=c; i++){
                if(!bulb[i]) bulb[i]=1; //๊บผ์ ธ์žˆ์œผ๋ฉด ์ผ ๋‹ค.
                else bulb[i]=0; //์ผœ์ ธ์ž‡์œผ๋ฉด ๋ˆ๋‹ค.
            }
        }
        
        else if(a==3){  //3๋ฒˆ ๋ช…๋ น์–ด(l~r๊นŒ์ง€ ์ „๊ตฌ๋ฅผ ๋ˆ๋‹ค.)
            for(int i=b; i<=c; i++){
                bulb[i]=0;
            }
        }
        
        else if(a==4){  //4๋ฒˆ ๋ช…๋ น์–ด(l~r๊นŒ์ง€ ์ „๊ตฌ๋ฅผ ์ผ ๋‹ค.)
            for(int i=b; i<=c; i++){
                bulb[i]=1;
            }
        }
    }
    for(int i=1; i<=N; i++){
        cout<<bulb[i]<<' ';
    }
}

 

ํ’€์ด

์š”์ฆ˜ ์Šคํ”„๋ง ๊ณต๋ถ€์™€ CS ๊ณต๋ถ€๋ฅผ ํ•˜๋Š๋ผ ๋ฐ”๋น ์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ์†๋„ ๋ชป ๋Œ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋ฃจ ํ•œ ๋ฌธ์ œ์”ฉ์€ ํ’€๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์‰ฝ์ง€๊ฐ€ ์•Š๋„ค์š”... ์—ฌํ•˜ํŠผ ๋ฌธ์ œ ์ž์ฒด๋Š” ๋‹จ์ˆœํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด 4๊ฐ€์ง€์˜ ๋ช…๋ น์–ด๊ฐ€ ๋“ค์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€