본문 바로가기

C++

(226)
[BOJ] 24479번, 24480번 알고리즘 수업 - 깊이 우선 탐색 1, 2 (C++) https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net #include #include #include using namespace std; vector e(100001); int visited[100001] = {0, }; int cnt = 1; void dfs(int w){ visited[w] = cnt++; for(int i = 0; i < e[w].size(); i++){..
[BOJ] 15989번 1, 2, 3 더하기 4 (C++) https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net #include using namespace std; int main() { long long dp[10001][4] = { 0, }; dp[1][1] = 1; dp[2][1] = 1; dp[2][2] = 1; dp[3][3] = 1; for(int i = 3; i 3) dp[i][3] = dp[i - 3][1] + dp[i - 3][..
[BOJ] 16165번 걸그룹 마스터 준석이 (C++) https://www.acmicpc.net/problem/16165 16165번: 걸그룹 마스터 준석이 정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n, m, mn, q; string group, member, name; vector v; cin >> n >> m; for(int i = 0; i > group >> mn; for(int j = 0; j < mn; j++){ cin ..
[BOJ] 3495번 아스키 도형 (C++) https://www.acmicpc.net/problem/3495 3495번: 아스키 도형 창영이는 메모장에 '.', '\', '/'을 이용해서 도형을 그렸다. 각 문자는 그림에서 1*1크기의 단위 정사각형을 나타낸다. '.'은 빈 칸을 나타내며, '/'는 정사각형의 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓 www.acmicpc.net #include using namespace std; int main() { int h, w, ans = 0; string board[100]; cin >> h >> w; for(int i = 0; i > board[i]; int s = 0; for(int j = 0; j < w; j++){ if(board[i][j] != '.'){ s++; ans..
[BOJ] 21966번 (중략) (C++) https://www.acmicpc.net/problem/21966 21966번: (중략) 알파벳 대문자, 알파벳 소문자, 쉼표, 마침표의 아스키 코드는 각각 65-90, 97-122, 44, 46이다. www.acmicpc.net #include #include using namespace std; int main() { int n; string s; cin >> n >> s; string sub = s.substr(11, n - 22); int in = sub.find("."); if(n
[BOJ] 1461번 도서관 (C++) https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net #include #include #include #include using namespace std; bool compare(int a, int b){ return a > b; } int main() { int n, m, p, res = 0; vector book_l; vector book_r; cin >> n >> m; for(int i = 0; i > p; if(p < ..
[BOJ] 11652번 카드 (C++) https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net #include #include #include using namespace std; int main() { int n; long long k; vector v; cin >> n; for(int i = 0; i > k; v.push_back(k); } sort(v.begin(), v.end()); int t = 0; int max = 0; long long ans..
[BOJ] 2630번 색종이 만들기 (C++) https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net #include using namespace std; int n; int paper[129][129]; int w_cnt = 0, b_cnt = 0; void divconquer(int x, int y, int v){ int cnt = 0; for(int i = x; i < x + v; i++){ for(int j = y; j < y + v; j++){ if(paper[..