c++

BOJ 백준/Class 4

백준 11444번, 피보나치 수 6 (C, C++)

https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include using namespace std; using matrix = vector; matrix temp; long long N; matrix Do(matrix &A, matrix &B){ matrix temp(2, vector(2)); // 초기화 for(int i = 0; i < 2; i++){ for(int j = 0; j < 2; j++){ for(int k = 0; k < 2; k++){ temp[i][j] += A[i][k] * B[k]..

BOJ 백준/Class 4

백준 12851번, 숨바꼭질 2(C, C++)

https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net ※잘못된 BFS #include #include using namespace std; int dx[2]= {-1, 1}; queue q; bool visited[100001]; int N; int K; int BFS(int X, int cnt){ visited[X] = true; queue q; q.push({X, cnt}); while(!q.empty()){..

BOJ 백준/Class 4

백준 12865번, 평범한 배낭

https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 유명한 0/1 knapsack problem 다이나믹 프로그래밍 문제입니다. 사실 저도 못 풀어서 결국에는 검색을 통해 알게 된 문제... https://gsmesie692.tistory.com/113 Dynamic Programming: 배낭 채우기 문제 (Knapsack Problem) 도둑이 보석가게에 배낭을 메고 침입했다. ..

BOJ 백준/Class 4

백준 1238번, 파티(C, C++)

https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include #include #include #include #define INF 100000000 using namespace std; int N; int M; int dist[1001]; vector a[10001]; int dijkstra(int start, int end){ priority_queuepq; for(int i = 0; i >N>>M>>X; f..

BOJ 백준/Class 4

백준 1932번, 정수 삼각형(C, C++)

https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 잘못 생각한 문제!! #include #include using namespace std; int n; int map[500][500]; int j = 0; int MAX = 1000000000; bool visited[100][100]; int dx[2] = {0, 1}; int solution = 0; void dfs(int y, int x, int depth, int sum){ if(depth == n){ solution = max(sum, solution); }..

BOJ 백준/Class 4

백준 1991번, 트리 순회(C, C++)

https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net #include #include #include using namespace std; int N; char X; char Y; char Z; int parent[27][2]; void preorder(char root){ if(root =='.'){ return; }else{ cout> Y >> Z; parent[X - 'A'][0] = Y; parent[X - 'A'][1] = Z; ..

simun
'c++' 태그의 글 목록