본문 바로가기

백준 조합2

백준 16943번 숫자 재배치 c++ 풀이 문제 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0으로 시작하면 안 된다. 입력 첫째 줄에 두 정수 A와 B가 주어진다. 출력 B보다 작은 C중에서 가장 큰 값을 출력한다. 그러한 C가 없는 경우에는 -1을 출력한다. 제한 1 ≤ A, B < 109 예제 입력 1 복사 1234 3456 예제 출력 1 복사 3421 예제 입력 2 복사 1000 5 예제 출력 2 복사 -1 예제 입력 3 복사 789 123 예제 출력 3 복사 -1 순열 문제 주의 next_permutation은 오름차순으로 정렬되어 있어야 제대로 사용 가능하다. prev_pe.. 2024. 1. 19.
백준 3049번 다각형의 대각선 c++ 풀이 문제 세 대각선이 한 점에서 만나지 않는 볼록 N각형이 주어졌을 때, 대각선의 교차점의 개수를 세는 프로그램을 작성하시오. 아래 그림은 위의 조건을 만족하는 한 육각형의 교차점 그림이다. 모든 내부각이 180도보다 작은 다각형을 볼록 다각형이라고 한다. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 100) 출력 첫째 줄에 교차점의 개수를 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 0 예제 입력 2 복사 4 예제 출력 2 복사 1 예제 입력 3 복사 6 예제 출력 3 복사 15 교차점이 생기는 조건은 4개의 꼭지점에서 나온 선분이 만나게 되면 교차점이 생기게 된다. 따라서 nC4를 구하게 된다면 교차점의 개수를 구할 수 있다. n * (n-1) * (n-2) * (n-3) / 24 이렇게 n.. 2024. 1. 18.