当前位置: 代码迷 >> 综合 >> uva 10790 How Many Points of Intersection?(数学)
  详细解决方案

uva 10790 How Many Points of Intersection?(数学)

热度:53   发布时间:2023-11-06 19:04:02.0

题意:

给定上下两条线分别有多少个点 ,之后求直线相交之后的交点数目,注意线上面的交点是不算的。

思路:

找规律,先画好上面的a个点,

画下面第一个点:它与上面所有点连线后没有交点。

画下面第二个点:它与a1连线后交点为a-1,与a2连线交点为a-2,........ 与最后一个点连线交点为0;

画下面第三给点:它与a1连线后交点为2*(a-1),与a2连线交点为1(a-2)......与最后一个交点连线交点为0;

以此类推。

注意:上下两条线上面的点的排序是没有等间距的,等间距会导致交点变少。

#include<iostream>
#include<cstdio> 
using namespace std;
int main (){long long m,n;int co=1;while(scanf("%lld %lld",&m,&n)&&m&&n){printf("Case %d: ",co++);printf("%lld\n",m*(m-1)*n*(n-1)/4);}return 0;
}


  相关解决方案