数论?? 数学 计算直线的交点数 DBSDFZ OJ
2017-10-13 19:23
323 查看
网页链接http://218.62.22.209:8080/problem.php?cid=1599&pid=0
题目描述
平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。
比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。
输入
输入数据包含多个测试实例,每个测试实例占一行,每行包含一个正整数n(n<=20),n表示直线的数量.
输出
Output
每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数,每行的整数之间用一个空格隔开。
样例输入
2
3
样例输出
0 1
0 2 3
题目描述
平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。
比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。
输入
输入数据包含多个测试实例,每个测试实例占一行,每行包含一个正整数n(n<=20),n表示直线的数量.
输出
Output
每个测试实例对应一行输出,从小到大列出所有相交方案,其中每个数为可能的交点数,每行的整数之间用一个空格隔开。
样例输入
2
3
样例输出
0 1
0 2 3
#include <cstdio> #include <iostream> #include <queue> using namespace std; int n; bool f[25][505];//i条直线能否有j个交点 int main(){ for(int i=0;i<=20;i++) f[i][0]=1; for(int i=1;i<=20;i++){//直线个数 for(int k=0;k<i;k++){//枚举分出来的直线个数 int a=i-k;//有a条平行的直线 for(int j=0;j<305;j++){//枚举交点数 if(f[k][j]==1){ f[i][j+a*k]=1; } } } } while(scanf("%d",&n)==1){ for(int i=0;i<=n*(n-1)/2;i++){ if(i==0) cout<<i<<" "; else{ if(f [i]) cout<<i<<" "; } } cout<<endl; } return 0; }
相关文章推荐
- 【HDU-oj】-1466-计算直线的交点数(DP)
- hdu 1466 计算直线的交点数 (数学)
- hdu 1466 计算直线的交点数(递推+数学)
- hdu 1466 计算直线的交点数 (数学)
- DP+数学——计算直线的交点数
- hdoj 计算直线的交点数 1466 (数学+DP) 好题
- hdu1466 计算直线的交点数(找规律+数学)
- 15HD_OJ——计算直线的交点数
- hdoj_1466计算直线的交点数
- HDOJ1466(计算直线的交点数)dp
- HDU 计算直线的交点数
- 计算线段或直线与线段的交点
- 计算直线的交点方案数
- poj 3340 Segments(计算几何,直线跟线段的交点)
- hdu 1466 计算直线的交点数
- Hdoj 1466 计算直线的交点数
- 杭电 1466 计算直线的交点数
- hdu1466 计算直线的交点数 DP
- bzoj1822: [JSOI2010]Frozen Nova 冷冻波 计算几何:直线与圆的交点 最大流 二分答案
- hdu 1466 计算直线的交点数