못생긴 수
못생긴 수 제한시간: 1000 ms 메모리제한: 32 MB 못생긴 수란, 소인수분해 했을 경우 나오는 소인수가 2, 3 그리고 5뿐인 수를 이야기 하며, 이를 수열로 늘어놓으면 다음과 같다. 1, 2, 3, 4, 5, 6, 8, 9, 10, 12... 이는 처음나오는 10개의 못생긴 수이며, 편의상 1을 포함하도록 하자. 정수 n이 주어졌을 때, n번째 못생긴 수를 출력하는 프로그램을 작성하라. 한 줄에 양의 정수 n(n≤1,500)이 주어진다. 입력에 0 이 주어질 때까지 계속 한다. 출력에는 n번째 못생긴 수를 출력한다. 1 2 9 0 1 2 10 #include typedef long long LL; LL heap[5000] = { 0, 1 }, ugly[1600], hcnt = 1; // 1500..
2020. 1. 9.
Problem F : 합이 0이 되는 4개의 숫자들
Problem F : 합이 0이 되는 4개의 숫자들 제한시간: 3000 ms 메모리제한: 512 MB 숫자를 원소로 가지고 있는 A, B, C, D 집합이 있을 때, (a, b, c, d ) ∈ A x B x C x D 에 대해 a + b + c + d = 0인 경우의 수가 몇 가지인가 계산하는 프로그램을 작성하라. 여기서 4개의 리스트는 모두 n개의 원소를 가지는 집합이라고 가정한다. 입력되는 숫자의 크기는 -228(268,435,456)val == val) return p->cnt; // 갯수 만큼 ans에 더함 } return 0; } int main() { freopen("input.txt", "r", stdin); int i, j, tmp; long long ans = 0; scanf("%d..
2020. 1. 8.
Problem E : 구간 성분
Problem E : 구간 성분 제한시간: 1000 ms 메모리제한: 256 MB 매 초마다 신호를 발생시키는 두 장치 A, B가 있다. 이 신호는 알파벳 소문자의 서열로 표현된다. A, B로 부터 발생한 신호를 서열로 표시한 SA, SB의 예는 다음과 같다. SA = [ a, f, c, d, r, d, e, s, d, e, f, w, s, z, r ] SB = [ g, e, d, s, r, d, d, e, m, z, r ] 신호 서열의 어떤 구간에 포함된 문자의 종류와 개수가 순서에 상관없이 동일하면 이 두 ‘구간의성분’은 같다고 한다. 아래에서 박스로 표시된 부분은 두 신호 SA, SB에서 성분이 같은 구간을 나타내고 있다. 즉 위의 예와 같이 성분이 같은 구간의 길이는 두 서열에서 반드시 같아야 한..
2020. 1. 8.