카테고리 없음

Code up 1098 설탕과자 뽑기(Vector 2차원)

RBWSN 2022. 4. 14. 11:36
728x90
    #include <iostream>
    #include <vector>

    using namespace std;

    void snack(vector<vector<int>> &vec, int length, int horizontal, int x, int y){
        if(horizontal == 0){
            for(int i=0; i<length; i++){
                vec[x-1][y-1]=1;
                y++;
            }
        }else{
            for(int i=0; i<length; i++){
                vec[x-1][y-1]=1;
                x++;
            }
        }
    }
      
    int main(){
        int width, length, num, l, h, x, y;
        cin >> width >> length; // 가로, 세로
        vector<vector<int>> vec(width, vector<int>(length, 0)); // vector를 0으로 초기화
        cin >> num; // 막대의 갯수
        for(int i=0; i<num; i++){
            cin >> l >> h >> x >>y;
            snack(vec,l,h,x,y);
        }
        for(int i=0; i<width; i++){
            for(int j=0; j<length; j++){
                cout << vec[i][j] << " ";
            }
            cout << "\n";
        }
    }

 

snack에서 vector의 주소에 직접 값을 수정하게 된다. x는 세로값 y는 가로값이다.

 

링크 : https://codeup.kr/problem.php?id=1098

728x90