분류 전체보기

    [C++] STL Queue 사용법

    Queue는 우리가 자료구조에서 배웠던 자료형과 의미가 같다. 알고리즘에서 보통 BFS 에서 자주 사용한다. 따라서 전처리기에 queue를 선언해주면서 사용할 수 있다. #include ... int value=1; int x=0, y=0; // 초기 선언 queue q; queue q; // 값 삽입 q.push(value); q.push(make_pair(x,y)); // 값 삭제 q.pop(); //pair를 사용한 queue에서 값 호출 q.front().first; // x q.front().second; // y

    [C++] 동적으로 2차원 배열 할당하기 - vector편

    C++에서 동적으로 2차원 배열 할당하는 방법은 간단하다. vector matrix(n, vector (n)); 이 말은 vector 방 안에 value 값을 다시 vector로 생성하여 2차원화 해주는 것이다. #include #include using namespace std; int main() { int n; cin >> n; vector matrix(n, vector (n)); for (int i = 0; i > matrix[i][j]; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout

    [BOJ] BFS, DFS 구현 방법

    BFS 함수 구현 방법 void bfs(int start) { queue q; memset(check, false, sizeof(check)); check[start] = true; q.push(start); while (!q.empty()) { int node = q.front(); q.pop(); cout

    [BOJ] 카잉달력_6064.cpp

    1차 시도 #include #include using namespace std; int main() { int t; cin >> t; vector m(t); vector n(t); vector x(t); vector y(t); vector k(t); for (int i = 0; i > m[i] >> n[i] >> x[i] >> y[i]; } for (int i = 0; i < t; i++) { int cnt = 1; while (true) { if (m[i] < n[i]) { if ((m[i] * (cnt + 1) + x[i]) == (n[i] * cnt + y[i])) { k[i] = m[i] * (cnt + 1) + x[i]; break; } } else if (m[i]..

    [C++] Vector에서 Unique, erase를 활용한 중복순열

    #include #include #include using namespace std; int main() { int n, m; cin >> n >> m;// 4 2 vector buf(n); for (int i = 0; i > buf[i];// 4 4 5 2 sort(buf.begin(), buf.end());// 2 4 4 5 buf.erase(unique(buf.begin(), buf.end()),buf.end()); // 2 4 5 cout

    [Lua] 주석다는 방법

    한줄 주석 "--" 사용 여러줄 주석 "--[[ ]]--" 사용

    [BOJ] 리모컨_1107.cpp

    //리모컨_1107.cpp - success #include using namespace std; bool broke[10]; int possible(int c) { if (c == 0) { return broke[0] ? 0 : 1; } int len = 0; while (c > 0) { if (broke[c % 10]) return 0; len += 1; c /= 10; } return len; } int main() { int n, m, N; cin >> n >> m; int key; for (int i = 0; i > key; broke[key] = true; } int ans = abs(n - 100); for (int i = 0; i 0) { int press =..

    [BOJ] N과M(6)_15655.cpp

    //15655_N과M(6).cpp - success #include #include #include using namespace std; bool check[10]; int num[10]; void solve(vector & buf, int idx, int start, int n, int m) { if (idx == m) { for (int i = 0; i m; vector buf(n); for (int i = 0; i > buf[i]; } sort(buf.begin(), buf.end()); solve(buf, 0, 0, n, m); return 0; }

    [BOJ] N과M(5)_15654.cpp

    //N과M(5)_15654.cpp - success #include #include #include using namespace std; bool check[10]; int num[10]; void solve(int idx, vector & buf, int n, int m) { if (idx == m) { for (int i = 0; i m; vector buf(n); for (int i = 0; i > buf[i]; } sort(buf.begin(), buf.end()); solve(0, buf, n, m); return 0; }

    [BOJ] N과M(4)_15652.cpp

    //15652_N과M(4).cpp - success #include using namespace std; bool check[10]; int num[10]; void solve(int idx, int start, int n, int m) { if (idx == m) { for (int i = 0; i < m; i++) { cout M; solve(0, 1, N, M); return 0; }