杭电-抱歉

抱歉

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 14   Accepted Submission(s) : 8

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

非常抱歉,本来兴冲冲地搞一场练习赛,由于我准备不足,出现很多数据的错误,现在这里换一个简单的题目:

前几天在网上查找ACM资料的时候,看到一个中学的奥数题目,就是不相交的曲线段分割平面的问题,我已经发到论坛,并且lxj 已经得到一个结论,这里就不

多讲了,下面有一个类似的并且更简单的问题:

如果平面上有n个点,并且每个点至少有2条曲线段和它相连,就是说,每条曲线都是封闭的,同时,我们规定:
1)所有的曲线段都不相交;
2)但是任意两点之间可以有多条曲线段。

如果我们知道这些线段把平面分割成了m份,你能知道一共有多少条曲线段吗?

Input

输入数据包含n和m,n=0,m=0表示输入的结束,不做处理。
所有输入数据都在32位整数范围内。

Output

输出对应的线段数目。

Sample Input

3 2
0 0

Sample Output

3


AC代码:
#include <iostream>

using namespace std;

int main()
{
    long long int n,m;
    while(cin>>n>>m&&n!=0&&m!=0)
    {
        cout<<n+m-2<<endl;
    }
    return 0;
}
心得:
本题主要应用了欧拉公式,

(4)多面体

设v为顶点数,e为棱数,f是面数,则

v-e+f=2-2p

p为亏格,2-2p为欧拉示性数,例如

p=0 的多面体叫第零类多面体

p=1 的多面体叫第一类多面体

在本题中欧拉公式的应用为 线=点+面-2

还有,这是32位的数字,记得用long long int。。。。。表示被坑过

你可能感兴趣的:(杭电-抱歉)