Subset Sums
For many sets of consecutive integers from 1 through N (1 <= N <= 39), one can partition the set into two sets whose sums are identical.
For example, if N=3, one can partition the set {1, 2, 3} in one way so that the sums of both subsets are identical:
This counts as a single partitioning (i.e., reversing the order counts as the same partitioning and thus does not increase the count of partitions).
If N=7, there are four ways to partition the set {1, 2, 3, ... 7} so that each partition has the same sum:
Given N, your program should print the number of ways a set containing the integers from 1 through N can be partitioned into two sets whose sums are identical. Print 0 if there are no such ways.
Your program must calculate the answer, not look it up from a table.
PROGRAM NAME: subset
INPUT FORMAT
The input file contains a single line with a single integer representing N, as above.
SAMPLE INPUT (file subset.in)
7
OUTPUT FORMAT
The output file contains a single line with a single integer that tells how many same-sum partitions can be made from the set {1, 2, ..., N}. The output file should contain 0 if there are no ways to make a same-sum partition.
SAMPLE OUTPUT (file subset.out)
4
동적 이동 방정식: j=i일 때 dp[i][j]=dp[i-1][j]+dp[i-1][j-i];pp[i][j]는 전 i--1개수의 전제에서 전 i개수는 j의 개수로 모을 수 있음을 나타낸다.dp[i-1][j]는 전 i-1개수를 j로 모을 수 있는 개수를 나타내고, dp[i-1][j-i]는 전 i-1개수의 합을 토대로 i개수를 더하면 j로 모을 수 있는 개수를 나타낸다.두 개를 합치면 앞의 i개수를 모아서 j를 만들 수 있는 총 개수다.
/* ID:hanzhic1 PROG:subset LANG:C++ */ #include
Compiling...
Compile: OK
Executing...
Test 1: TEST OK [0.000 secs, 3232 KB]
Test 2: TEST OK [0.000 secs, 3232 KB]
Test 3: TEST OK [0.000 secs, 3232 KB]
Test 4: TEST OK [0.000 secs, 3232 KB]
Test 5: TEST OK [0.000 secs, 3232 KB]
Test 6: TEST OK [0.000 secs, 3232 KB]
Test 7: TEST OK [0.000 secs, 3232 KB]
All tests OK.
Your program ('subset') produced all correct answers! This is your
submission #6 for this problem. Congratulations!
Here are the test data inputs:
------- test 1 ----
7
------- test 2 ----
15
------- test 3 ----
24
------- test 4 ----
31
------- test 5 ----
36
------- test 6 ----
39
------- test 7 ----
37
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java에서 InputStream, String, File 간의 상호 전환 비교InputStream, String, File 상호 전환 1. String --> InputStream 2. InputStream --> String 오늘 인터넷에서 또 다른 방법을 보았는데, 특별히 가지고 와서 공...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.