본문 바로가기

728x90

C++

[C++]백준 2258번: 정육점 문제 https://www.acmicpc.net/problem/2258 2258번: 정육점 첫째 줄에 두 정수 N(1 ≤ N ≤ 100,000), M(1 ≤ M ≤ 2,147,483,647)이 주어진다. N은 덩어리의 개수를 의미하고, M은 은혜가 필요한 고기의 양이다. 다음 N개의 줄에는 각 고기 덩어리의 무게와 가격을 나 www.acmicpc.net 문제반례 다음은 반례로 나오기 좋은 것들을 모아놓은 것이다. 더보기 10 14 2 3 2 4 2 5 3 1 1 3 7 9 7 3 8 4 10 3 3 10 답 : 4 3 2 1 1 1 1 2 3 답 : 2 10 10 2 3 2 4 2 5 3 1 1 3 7 9 7 3 8 4 10 3 3 10 답 : 3 4 9 1 2 2 4 3 6 4 8 답 : 8 7 15 .. 더보기
[C++]백준 1182번: 부분수열의 합 문제 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 문제이해 첫째 줄에 정수의 개수와 합으로써 원하는 값을 입력한다. 두 번째 줄에는 정수의 개수만큼의 수를 입력한다. 출력으로 부분 수열의 합이 원하는 값이랑 똑같았던 경우가 몇 번인지 출력한다. 수에 딱히 규칙성도 없고 무작위의 수중에서 무작위 수만큼을 골라 원하는 값이 나오는지 확인해야 하기 때문에 브루트포스 알고리즘을 사용하여야 한다. 브루트포스 알고리.. 더보기
[C++]백준 2644번: 촌수계산 문제 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 문제이해 가족 구성원 수와 관계를 알고싶은 두 가족 구성원의 번호 입력한다. 그 다음으로 가족구성원 사이의 관계의 수를 입력하고 관계의 수만큼 가족 구성원들 간의 관계를 입력한다. 출력으로 두 가족 구성원이 몇촌인지를 나타낸다. 만약 두 가족 구성원이 서로 관계가 없을 경우 -1을 출력한다. 어떤 자식에 대해서 부모는 반드시 한명이여야 하며 어떤 부모에 대해서 자식의 수는.. 더보기
[C++]백준 10816번: 숫자 카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net 문제이해 처음 입력으로 N(1 ≤ N ≤ 500,000)이 주어지고 N번 동안 상근이 카드를 입력합니다. 다음 입력으로 M(1 ≤ M ≤ 500,000)이 주어지고 M번 동안 확인할 카드를 입력합니다. 출력으로 확인할 카드들을 상근이가 얼마나 가지고 있는지 확인하여 출력합니다. 문제해결 숫자 카드에 적혀있는 수의 범위가 -10,000,000보다 크거나 같고.. 더보기
[C++]백준 14891번: 톱니바퀴 문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 문제이해 우선 입력으로 4개의 톱니바퀴의 톱니 극을 받고 이후 회전 횟수와 회전 기어, 방향을 입력 받습니다. 각각의 회전에 대한 변화를 구현해야 됩니다. 출력은 생각보다 간단하게 각 톱니바퀴의 0번째 인덱스의 값만 이용해 계산하면 됩니다. 문제해결 struct gears { vector magnet; gears* leftGear; gears* rightGear; int way; void.. 더보기

LIST