본문 바로가기

algorithm48

[백준/9461] 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하 www.acmicpc.net #include using namespace std; long long arr[101]; long long p(int n) { if .. 2020. 4. 3.
[백준/1003] 피보나치 함수 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net #include using namespace std; int z = 0; int one = 0; int zo[41][2]; int arr[41]; long long f(int n) { if (n == 0) { return arr[0]; } else if (n == 1) { return arr[1]; } if (arr[n] != -1) { return arr[n]; } else { arr[n] = f(n - 2) + f(n - 1); zo[n][0] = zo[n - 2][0] + zo[n - 1.. 2020. 4. 3.
[백준/2748] 피보나치 수 2 https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 www.acmicpc.net #include using namespace std; long long arr[100]; long long f(int n) { if.. 2020. 4. 3.
[백준/14889] 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net #include #include #include using namespace std; int map[20][20]; bool check[20]; int minv = 101; void making_team(int index, int start, int n) { if (index == n / 2) { vector team_a; vector team_b; for (int i = 0; i < n; i++) { if (chec.. 2020. 4. 3.