2016-08-08
UVA - 10790 How Many Points of Intersection?
题目大意:两条平行线上分别有 a 和 b 个点,每个点与另外一条线上的点都要相连,求交点个数,两线相交就算一个点,不存在三线交于一点的情况。
解题思路:固定第一条线上的 a 个点不动,b 每加 1,加的点的个数是 (1+2+3+…+a-1) × b,b 从一个开始加,总加的次数为 1+2+3+…+b-1,即总点数为 (1+2+3+…+a-1)×(1+2+3+…+b-1)
#include <iostream>
#include <cstdio>
using namespace std;
int main () {
long long a, b;
int N = 0;
while ( scanf("%lld%lld", &a, &b) != EOF && a && b)
cout << "Case " << ++N << ": " << a*(a-1)*b*(b-1)/4 << endl;
return 0;
}