早教吧作业答案频道 -->其他-->
C++程序编程Description麦兜是个淘气的孩子.一天,他在玩钢笔的时候把墨水洒在了白色的墙上.再过一会,麦兜妈就要回来了,麦兜为了不让妈妈知道这件事情,就想用一个白色的凸多边形把墙上的
题目详情
C++ 程序编程
Description 麦兜是个淘气的孩子.一天,他在玩钢笔的时候把墨水洒在了白色的墙上.再过一会,麦兜妈就要回来了,麦兜为了不让妈妈知道这件事情,就想用一个白色的凸多边形把墙上的墨点盖住.你能告诉麦兜最小需要面积多大的凸多边形才能把这些墨点盖住吗?现在,给出了这些墨点的坐标,请帮助麦兜计算出覆盖这些墨点的最小凸多边形的面积.Input 多组测试数据.第一行是一个整数T,表明一共有T组测试数据.每组测试数据的第一行是一个正整数N(0< N < = 105),表明了墨点的数量.接下来的N行每行包含了两个整数Xi和Yi(0<=Xi,Yi<=2000),表示每个墨点的坐标.每行的坐标间可能包含多个空格.Output 每行输出一组测试数据的结果,只需输出最小凸多边形的面积.面积是个实数,小数点后面保留一位即可,不需要多余的空格.Sample Input 2 4 0 0 1 0 0 1 1 1 2 0 0 0 1 Sample Output 1.0 0.0 麻烦帮帮忙咯
Description 麦兜是个淘气的孩子.一天,他在玩钢笔的时候把墨水洒在了白色的墙上.再过一会,麦兜妈就要回来了,麦兜为了不让妈妈知道这件事情,就想用一个白色的凸多边形把墙上的墨点盖住.你能告诉麦兜最小需要面积多大的凸多边形才能把这些墨点盖住吗?现在,给出了这些墨点的坐标,请帮助麦兜计算出覆盖这些墨点的最小凸多边形的面积.Input 多组测试数据.第一行是一个整数T,表明一共有T组测试数据.每组测试数据的第一行是一个正整数N(0< N < = 105),表明了墨点的数量.接下来的N行每行包含了两个整数Xi和Yi(0<=Xi,Yi<=2000),表示每个墨点的坐标.每行的坐标间可能包含多个空格.Output 每行输出一组测试数据的结果,只需输出最小凸多边形的面积.面积是个实数,小数点后面保留一位即可,不需要多余的空格.Sample Input 2 4 0 0 1 0 0 1 1 1 2 0 0 0 1 Sample Output 1.0 0.0 麻烦帮帮忙咯
▼优质解答
答案和解析
看一下这个程序可以不:
#include
#include
using namespace std;
struct Stu
{
int total, china, math, engl, ID;
};
int MyCompare(const void *e1, const void *e2)
{
Stu *p1 = (Stu*) e1; Stu *p2 = (Stu*) e2;
if(p1->total != p2->total)
return p1->total < p2->total;
if(p1->china != p2->china)
return p1->china < p2->china;
return p1->ID > p2->ID;
}
int main()
{
Stu stu[100];
int n, i;
cin >> n;
for(i = 0; i < n; i++){
cin >> stu[i].china >> stu[i].math >> stu[i].engl;
stu[i].ID = i + 1;
stu[i].total = stu[i].china + stu[i].math + stu[i].engl;
}
qsort(stu, n, sizeof(Stu), MyCompare);
for(i = 0; i < n; i++)
cout << stu[i].ID << " " << stu[i].total << endl;
return 0;
}
我可以帮助你,你先设置我最佳答案后,我百度Hii教你.
#include
#include
using namespace std;
struct Stu
{
int total, china, math, engl, ID;
};
int MyCompare(const void *e1, const void *e2)
{
Stu *p1 = (Stu*) e1; Stu *p2 = (Stu*) e2;
if(p1->total != p2->total)
return p1->total < p2->total;
if(p1->china != p2->china)
return p1->china < p2->china;
return p1->ID > p2->ID;
}
int main()
{
Stu stu[100];
int n, i;
cin >> n;
for(i = 0; i < n; i++){
cin >> stu[i].china >> stu[i].math >> stu[i].engl;
stu[i].ID = i + 1;
stu[i].total = stu[i].china + stu[i].math + stu[i].engl;
}
qsort(stu, n, sizeof(Stu), MyCompare);
for(i = 0; i < n; i++)
cout << stu[i].ID << " " << stu[i].total << endl;
return 0;
}
我可以帮助你,你先设置我最佳答案后,我百度Hii教你.
看了 C++程序编程Descrip...的网友还看了以下:
判断两根钢条是否有磁性,可将它们的一端靠近小磁针的北极或南极,当钢条甲靠近时,小磁针自动远离,当钢条 2020-03-30 …
贝贝买了一本字典和一枝钢笔,共用去26.55元,已知钢笔比字典便宜13.95元,你知道字典和钢笔的 2020-05-13 …
贝贝买了一本字典和一枝钢笔,共用去26.55元,已知钢笔比字典便宜13.95元,你知道字典和钢笔的 2020-05-13 …
学校小卖部买钢笔和圆珠笔共用去90元 ,钢笔每支5元 ,圆珠笔每支2元, 如果购买钢笔和圆珠笔的数 2020-05-15 …
,下面是学校采购员某天的购物小票.因为不慎撕掉一角,采购员只记得钢笔和白板笔一样多,但白板笔比钢笔 2020-05-21 …
已知钢和冰之间的摩擦因素为0.02,有一个钢制雪橇,同车上的木料总重为4.90*10的四次方N,在 2020-05-23 …
钢铁很容易生锈而被腐蚀,每年因腐蚀而损失的钢铁占世界钢铁年产量的四分之一。请回答钢铁在腐蚀、防护过 2020-06-18 …
钢铁工业是国家工业的基础,钢铁生锈现象却随处可见,为此每年国家损失大量资金.请回答钢铁腐蚀与防护过程 2020-11-03 …
在一次自主招生选拔考核中,每个候选人都需要进行四轮考核,每轮设有一个问题,能正确回答者进入下一轮考核 2020-12-21 …
1已知abc均为实数,且abc不等于0,若k=c/a+b=a/b+c=b/c+a,求k的值.为举行名 2020-12-31 …