#include #include #include #include #include using namespace std; bool compare(const pair& a, const pair& b) { return a.first < b.first; } bool all_com(int n, int* v) { for (int i = 0; i < n; i++) { if (v[i] == 0) return false; } return true; } int main() { int T; scanf("%d", &T); for (int i = 0; i < T; i++) { vector time_lst; int visited[401]; memset(visited, 0, sizeof(visited)); int ans = 0; i..
전체 글
IT Blog#include #include #include #include using namespace std; int main() { int idx = 1; int N = 0; for(int id=0; id> pwd; lst.push_back(pwd); pwd = 0; } int M = 0; scanf("%d", &M); for (int j = 0; j > odr; if (odr == 'I')// insert { list lst_I; int x = 0, y = 0; int s; scanf("%d %d", &x, &y); for (int k = 0; k > s; lst_I.push_back(s); s = 0; } auto it = lst..
#include #include using namespace std; int main() { int R, C; int dx[] = { 0, 0, 1, -1 }; int dy[] = { 1, -1, 0, 0 }; char MAP[50][50]; int GDepth[50][50] = { 0}; int WDepth[50][50] = { 0 }; int answer = -1; queue gos; queue water; scanf("%d %d", &R, &C); char input; for (int i = 0; i < R; i++) { for (int j = 0; j < C; j++) { scanf("%c", &input); if (input == '\n') { j--; continue; } if (input =..
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net #include #include using namespace std; char board[21][21] = {}; bool visit[21] = { false }; int Count = 0, result = 0; int dx[] = { 0, 0, 1, -1 }; int dy[] = { 1, -1, 0, 0 }; int R, C; void dfs(int x, int y, int cnt) { ..
#include #include #include using namespace std; queue q; bool visited[100001]; int result; bool valid(int n) { if (n 100000 || visited[n]) return false; return true; } int BFS(int end) { while (!q.empty()) { int r = q.front().first; int l = q.front().second; q.pop(); if (r == end) return l; if (valid(r*2)) { visited[r * 2] = true; q.push(make_pair(r*2, l + 1)); } if (valid(r +1)) { vi..
https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net #include #include #include #include using namespace std; int main() { int i = 0; map m; char tree[31]; int ch = 0; int k = 0; while (!cin.eof()) { cin.getline(tree, 31, '\n'); k++; if (m.find(tree) == m.end()) { m.ins..
https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net #include #include #include typedef enum { false, true } bool; int cnt = 0; typedef struct _Node { char carNum[9]; struct _Node* next; }Node; typedef struct { Node* head; int len; Node* tail; }LinkedList; bool IsEmp..
https://www.acmicpc.net/problem/9934 #include #include #include int main() { int arr[1024] = {0}; int H, cnt; int parr[11][1024] = {0}; int N; int num; scanf("%d", &H); num =(int)pow(2, H); cnt = num - 1; for (int i = 0; i 0) { for (int j = 0; j < pow(2, H) - 1; j++) { if (j % 2 == 0) parr[H][j] = arr[j]..