标签:
2 3
0 1 0 2 3
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int dp[21][200];//共i条直线j个交点 int main() { int n; while(~scanf("%d",&n)){ memset(dp,0,sizeof(dp)); for(int i = 0; i <= 21 ;i++) dp[i][0] = 1; for(int i = 1; i <= 21;i++){ for(int j = 0; j < i;j++){//平行线的对数 for(int k = 0; k < 191;k++){ if(dp[i-j][k] == 1) dp[i][(i-j)*j+k] = 1; } } } printf("0"); for(int i = 1; i < 190; i++){ if(dp[n][i] == 1) printf(" %d",i); } puts(""); } return 0; }
标签:
原文地址:http://www.cnblogs.com/zero-begin/p/4374763.html