[B11286][절댓값 힙][C++] #include #include #include using namespace std; int n, x; priority_queue Q1; // 양수 priority_queue Q2; // 음수 int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > x; if (x == 0) { if (Q1.empty() && Q2.empty()) cout BAEKJOON/C++ 2021.10.27
[B7569][토마토][C++] #include #include #include using namespace std; int n, m, h; int map[102][102][102]; int dz[6] = { 0,0,0 ,0,-1,1 }; int dx[6] = { 0,0 ,1,-1,0,0 }; int dy[6] = { -1,1,0,0,0,0 }; int d[102][102][102]; int day = 0; int main() { ios::sync_with_stdio(NULL); cin.tie(0); cin >> m >> n >> h; queue Q; for (int i = 0; i > map[i][.. BAEKJOON/C++ 2021.08.17
[B6064][카잉 달력][C++] #include #include using namespace std; int m, n, x, y; int g(int a, int b) { if (a % b == 0) return b; else return g(b, a % b); } int l(int a, int b) { return (a * b) / g(a, b); } int main() { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); int t; cin >> t; for (int i = 0; i > m >> n >> x >> y; int maxY = l(m, n); while (1) { if (x > maxY || (x - 1) % n + 1 == y) break; x.. BAEKJOON/C++ 2021.07.27
[B2667][단지 번호 붙이기][C++] #include #include #include #include #include using namespace std; int arr[30][30]; bool isVisit[30][30]; int dx[4] = { 0,0,1,-1 }; int dy[4] = { -1,1,0,0 }; int n, cnt = 0; vector ans; queue q; int main() { cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf_s("%1d", &arr[i][j]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (arr[i][j] == 1 && isVisit.. BAEKJOON/C++ 2021.07.20
[B2178][미로 탐색][C++] #include #include #include using namespace std; string s[101]; int dis[101][101]; bool isVisit[101][101]; queue Q; int n, m; int dx[4] = { 1,0,-1,0 }; int dy[4] = { 0,1,0,-1 }; int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin >> n >> m; for (int i = 0; i > s[i]; dis[0][0] = 1; Q.push({ 0,0 }); isVisit[0][0] = true; while (!Q.empty()) { pair tmp = Q.front(); Q.pop.. BAEKJOON/C++ 2021.07.16
[B1992][쿼드트리][C++] #include #include using namespace std; const int MAX = 64; int n, arr[MAX][MAX]; void f(int n, int x, int y) { if (n == 1) { cout BAEKJOON/C++ 2021.07.14
[B1389][케빈 베이컨의 6단계 법칙][C++] #include #include #include using namespace std; int map[101][101]; bool chk[101]; int main() { int n, m; cin >> n >> m; int input1; int input2; for (int i = 0; i > input1 >> input2; map[input1][input2] = 1; map[input2][input1] = 1; } queue q; int sum = 0; int result = 999999; int people = 0; for (int i = 1; i BAEKJOON/C++ 2021.07.12
[B5525][IOIOI][C++] #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m; cin >> n >> m; string s; cin >> s; int ans = 0; for (int i = 0; i < m; i++) { int k = 0; if (s[i] == 'O') continue; else { while (s[i + 1] == 'O' && s[i + 2] == 'I') { k++; if (k == n) { k--; ans++; } i += 2; } k = 0; } } cout BAEKJOON/C++ 2021.07.02
[B1268][임시 반장 정하기][C++] #include using namespace std; int grade[1001][6]; // 애들은 1000명까지, 1~5학년 bool check[1001][1001] = { false, }; int cnt[1001]; int n; int main() { cin >> n; for (int i = 0; i > grade[i][j]; for (int i = 0; i < 5; i++) { for (int j = 0; j < n - 1; j++) { for (int k = j + 1; k < n; k++) { if (grade[j][i] == grade[k][i]) { check[j][k] = check[k][j] = true; } .. BAEKJOON/C++ 2021.07.01
[B1780][종이의 개수][C++] #include using namespace std; int n; int p[2188][2188]; int cnt[3]; // -1,0,1 void f(int x, int y, int size) { bool isSame = true; for (int i = x; i < x + size; i++) { for (int j = y; j < y + size; j++) { if (p[x][y] != p[i][j]) { isSame = false; break; } } } if (isSame) { cnt[p[x][y] + 1]++; return; } for (int i = x; i < x + size; i += size / 3) { for (int j = y; j < y + size; j += size / 3) { .. BAEKJOON/C++ 2021.06.30
[B11727][2xn 타일링 2][C++] #include using namespace std; int n; int dp[1000]; int main(){ cin >> n; dp[0] = 1; dp[1] = 1; for(int i = 2; i BAEKJOON/C++ 2021.06.29
[B1541][잃어버린 괄호][C++] #include #include using namespace std; int n = 0; int m = 0; string nums = ""; string s; int main() { ios_base::sync_with_stdio(false); cin.tie(0), cout.tie(0); cin >> s; for (int i = 0; i BAEKJOON/C++ 2021.06.25
[B11659][구간 합 구하기 4][C++] #include using namespace std; int n, m, ps[100001]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for (int i = 0; i > x; ps[i + 1] = ps[i] + x; } for (int i = 0; i > s >> f; cout BAEKJOON/C++ 2021.06.24
[B1676][팩토리얼 0의 개수][C++] #include using namespace std; int n; int cnt; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; while (n >= 5) { cnt += n / 5; n /= 5; } cout > n; cout BAEKJOON/C++ 2021.06.23
[B1260][DFS와 BFS][C++] #include #include using namespace std; int n, m, v; int map[1001][1001]; bool visit[1001]; queue Q; void DFS(int v) { visit[v] = true; cout x >> y; map[x][y] = 1; map[y][x] = 1; } for (int i = 1; i BAEKJOON/C++ 2021.06.23
[B17219][비밀번호 찾기][C++] #include #include #include using namespace std; map M; int n, m; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for (int i = 0; i > site >> pw; M[site] = pw; } for (int i = 0; i > s; cout BAEKJOON/C++ 2021.06.21
[B9461][파도반 수열][C++] #include using namespace std; int t, n; long long dp[101] = { 0 }; int main() { cin >> t; dp[1] = 1; dp[2] = 1; dp[3] = 1; for (int i = 4; i > n; cout BAEKJOON/C++ 2021.06.18
[B7662][이중 우선 순위 큐][C++] #include #include #include #include #include using namespace std; const int MAX = 1000001; int n; bool visit[MAX]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test; cin >> test; for (int t = 0; t > n; priority_queue minpq; priority_queue maxpq; for (int i = 0; i > c >> num; if (c == 'I') { maxpq.push({ num, i }); m.. BAEKJOON/C++ 2021.06.17
[B18870][좌표 압축][C++] #include #include #include using namespace std; int n, x; vector v1; vector v2(1000001); int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; for (int i = 0; i > x; v1.push_back({ x, i }); } sort(v1.begin(), v1.end()); int tmp = v1[0].first; int cnt = 0; v2[v1[0].second] = 0; for (int i = 1; i < n; i++) { if (tmp == v1[i].first) { v2[v1[i].seco.. BAEKJOON/C++ 2021.06.16