1 2 3 4 5 6 7 9 8 10
三角形面积
Time Limit:1000MS Memory Limit:65536K Total Submit:1195 Accepted:350
【问题描述】
给出三角形的三个边长为a,b,c,根据海伦公式来计算三角形的面积: s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
【要求】
【数据输入】测试的数据有任意多组,每一组为一行。 每一行为三角形的三个边长为a,b,c;
【数据输出】输出每一个三角形的面积,两位小数。如果不是一个三角形,则输出错误提示信息:“Input error!”
【样例输入】 3 4 5 6 8 10 1 2 3
【样例输出】 6.00 24.00 Input error!
吃豆豆
timelimit:5 seconds memlimit:32768 K Prev |Next
【问题描述】
两个PACMAN 吃豆豆。一开始的时候,PACMAN 都在坐标原点的左下方,豆豆都在右上方。PACMAN 走到豆豆处就会吃掉它。PACMAN 行走的路线很奇怪,只能向右走或者向上走,他们行走的路线不可以相交。请你帮这两个PACMAN 计算一下,他们俩加起来最多能吃掉多少豆豆。
【要求】
【数据输入】输入包括多组数据每组输入数据第一行为N(1≤ N ≤2000),表示豆豆的数目。接下来N行,每行一对正整数Xi、Yi(不超过10^8),表示第i个豆豆的坐标。任意两个豆豆的坐标都不会重合。
【数据输入】两个PACMAN 加起啻最多能吃掉的豆豆数量。 每组输出后跟一个空行
【样例输入】 8 8 1 1 5 5 7 2 2 7 8 4 6 3 3 6 4
【样例输出】 7
序列
timelimit:30 seconds memlimit:32768 K Prev |Next
【问题描述】
一个序列{Ai, i=0,1,2,?,3N}由3N+1 项组成,每一项要么为1,要么为-2。
定义部分和SK=A0+A1+?+AK,求所有满足性质P的序列的数目。性质P为:S3N=1 且对于所有的K=0,1,2,?,3N-1,3N,有SK>0(即所有项的和为1,且所有部分和为正)。 例如N=2 的时候,共有3 组这样的序列: 1, 1, 1, -2, 1, 1, -2 1, 1, 1, 1, -2, 1, -2 1, 1, 1, 1, 1, -2, -2
【要求】
【数据输入】第一行输入N(N≤1000)。
【数据输出】满足P 性质的序列数目
【样例输入】 2
【样例输出】 3
宠物
timelimit:1 seconds memlimit:32768 K Prev |Next
【问题描述】fzk非常喜欢养宠物,比如他现在就养了2头奶牛,3只小熊,4个猩猩,5头大象,还有一个daizi。fzk 把他的宠物关在一些笼子里,例如,fzk当前的分配是: 笼子1: 奶牛,daizi ;笼子2: 奶牛;笼子3: 猩猩,大象;笼子4: 小熊,猩猩这样总共需要4个笼子。为了节省资金,fzk想用尽可能少的笼子来装下所有宠物。他的办法是在当前的分配下,合并一些笼子。假设每个笼子都足够大,可以装下任意多的宠物,而两个笼子如果装有相同的一种或多种宠物,就可以合并。现在给出fzk当前的分配,你能否帮助fzk算出按照他的方法合并后,总共只需要几个笼子? 比如对于上面的分配,可以合并为: 笼子1:奶牛,daizi ;笼子2:猩猩,小熊,大象总共需要2个笼子。
【要求】
【数据输入】首先一个整数t表示测试数据组数(1=
【数据输出】对每组测试数据,输出一个整数,表示笼子合并之后fzk可以使用的最少的笼子数。
【样例输入】 1 4
2 nainiu daizi 1 nainiu
2 xingxing daxiang 2 xiaoxiong xingxing
【样例输出】 2
多边形
timelimit:1 seconds memlimit:32768 K Prev |Next
【问题描述】
在一个坐标平面上,给一个n个点的集合,能不能画出一个简单多边形(除相邻边外其他任意两条边没有公共点)。要求这个多边形的顶点集合就是给定的点集,而且多边形的边必须与x轴或y轴平行.更进一步,要求多边形相邻的边不平行,也就是说,多边形的边是一条横线段,接着一条竖线段,再接着一条横线段....
【要求】
【数据输入】输入包括多组数据.
输入数据的第一行包括一个整数t,表示有t组输入数据,t<10. 每组输入数据的第一行为一个整数n,(4 ≤ n ≤ 100000)
接下来的n行每行描述一个点的坐标,包括两个整数x y,( |x|,|y| ≤ 1000 )
【数据输出】
每个输入数据输出一行
如果可以画出要求的多边形,输出多边形的周长.如果存在多个这样的多边形,输出周长最小的。
如果不存在这样的多边形,输出-1
【样例输入】 1 8 1 2 1 0 2 1 2 2 3 2 3 1 4 0 4 2
【样例输出】 12
H数
timelimit:1 seconds memlimit:32768 K Prev |Next
【问题描述】
让我们来做做David Hilbert的一个练习题.
定义H数为4的正整数倍加1,比如: 1, 5, 9, 13, 17, 21, 25... 都是H数.可以证明两个H数相乘结果还是H数.类似于整数,我们也可以把H数分为1, H素数和H合数.一个H数为H素数,当且仅当,它除了1和自己之外,没有其他的H数整除它.除了1和H素数外,其他的H数都是H合数.比如9是H素数,因为除了1和9之外没有其他的H数整除9; 17和21也是H素数; 45是H合数,45=5×9,25也是H合数,因为 25=5×5.
你的任务是计算H半素数的个数. 一个H数是H半素数,当且仅当,它能分解成两个H素数的乘积.
这两个H素数可以是同一个数.比如25是H半素数,25=5×5。45也是H半素数, 45 = 5×9,而125不是H半
素数,125 = 5 × 5 × 5,它可以分解成3个H素数的乘积. 给你一个H数n,要求你输出有多少个不大于n的H半素数.
【要求】
【数据输入】输入包括多组数据,每组数据输出一行,包括一个整数n,(n ≤ 1,000,001 ) 最后一行为一个0,表示输入结束.
【数据输出】每个输入数据输出一行,先输出n,然后输出小于等于n的H数中有几个是H半素数,这两个数用一个空格隔开
【样例输入】 21 85 789 0
【样例输出】 21 0 85 5 789 62