2011年ACM大赛题目8 C语言的题目。谁能帮我解答下,要每一步的说明,可以追加分数的。谢谢了
如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就...
如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成绩都比丙同学好。一般情况,设有一个三元向量的集合,若其中有向量P=(p1, p2, p3), Q=(q1, q2, q3), 规定P≦Q 当且仅当 p1≦q1, p2≦q2, p3≦q3 。其中一个向量称为是一个极小元素,当且仅当它只 ≦ 它自己。例如如下三个三元向量组成了向量组(80,90,100),(90,80,70),(60,70,60),其中只有一个最小元素,是(60,70,60)。请编写程序,输入n个三元向量,输出其中最小元素的数目。
提示:先对第一个坐标排序,再考虑第二个坐标,第三个坐标。
可以的话说说程序框图或流程图,程序清单与调用关系之类的。 展开
提示:先对第一个坐标排序,再考虑第二个坐标,第三个坐标。
可以的话说说程序框图或流程图,程序清单与调用关系之类的。 展开
3个回答
展开全部
多关键字排序。排序后依次枚举每个向量,看能否找到比本向量小的元素,统计个数。
如果数据量小就采用顺序查找,如果数据量大的话就采用二分查找,排序用快速排序。
程序框架图什么的就自己画吧,源代码就算了。不懂可以QQ联系。
要搞ACM就要自己会写... 不然什么的都是浮云.
实在写不出来,可以给我发消息,我写个就是了。
如果数据量小就采用顺序查找,如果数据量大的话就采用二分查找,排序用快速排序。
程序框架图什么的就自己画吧,源代码就算了。不懂可以QQ联系。
要搞ACM就要自己会写... 不然什么的都是浮云.
实在写不出来,可以给我发消息,我写个就是了。
追问
不是ACM。。就是期末的论文。。。不会写。。。帮我写个可以吗?用C做的,最好附上说明。
追答
....为嘛不自己好好做呢?好吧,明天我发上来吧...
展开全部
元素表示:(x,y,z) 先按x从小到大(从大到小也一样,不过下面得相反)排序,然后把(y,z)看成一个元素,转化为简单DP,求其最长单调非递减子序列就OK了,(双元素时把单元素的判断条件改一下。。)。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-23
展开全部
要是只能用C的话 太麻烦了 效率也不会高
要先建一个有三个链表(最好是双链)的结构体;再对第一坐标比较,对三个链表重新排序;最后从后向从前比较用计数器计数。想下就觉得累。
要是能用C++的话直接容器,不用写算,还有排序的时候用list,到比较的时候用vector。呵呵效率也高啊。
要先建一个有三个链表(最好是双链)的结构体;再对第一坐标比较,对三个链表重新排序;最后从后向从前比较用计数器计数。想下就觉得累。
要是能用C++的话直接容器,不用写算,还有排序的时候用list,到比较的时候用vector。呵呵效率也高啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |