BOJ::10836 여왕벌

시사점

이해(x)

설계, 손 코딩(x)

시간 복잡도

공간 복잡도

손 코딩 후 문제 리뷰(x)

구현(x)

함수 List

업데이트 되는 변수

실제 구현

#include<iostream>
#include<vector>
#include<algorithm>
#define rep(i, a, b) for(int i = a; i< b; i++)
const int MAXN = 1100 + 1;
const int MAXT = 1000 * 1000 + 1;
using namespace std;

int n, mxT;
int a[MAXN][MAXN];
int main(){
    //freopen("input.txt", "r", stdin);
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin >> n >> mxT;
    vector<int> line(2 * n - 1, 1);
    rep(i, 0, mxT){
        int all012[3] = { 0 };
        cin >> all012[0] >> all012[1] >> all012[2];
        rep(i, all012[0], all012[0] + all012[1]){
            line[i] += 1;
        }
        rep(i, all012[0] + all012[1], 2 * n - 1){
            line[i] += 2;
        }
    }

    rep(i, 0, n){
        a[n - 1 - i][0] = line[i];
    }
    rep(i, n, 2 * n-1){
        a[0][i - n+1] = line[i];
    }

    rep(i, 1, n){
        rep(j, 1, n){
            a[i][j] = max(a[i - 1][j - 1], max(a[i - 1][j], a[i][j - 1]));
        }
    }
    rep(i, 0, n){
        rep(j, 0, n){
            if (j == n - 1){
                cout << a[i][j];
            }
            else{
                cout << a[i][j] << " ";
            }
        }cout << '\n';
    }
    return 0;
}

구현 후 코드리뷰 + 예제 돌려보기(x)

디버깅(x)

좋은 코드

최적화