西安邮电大学2020.12.19ACM新生赛题解(部分)

阅读: 评论:0

西安邮电大学2020.12.19ACM新生赛题解(部分)

西安邮电大学2020.12.19ACM新生赛题解(部分)

西安邮电大学2020.12.19ACM新生赛题解(部分)

A题:永远的王聪明王

难易程度:简单
描述

一天,聪明王在家中写作业,一共有n门课的作业,现在他知道自己写完每门作业的时间。他的妈妈可能随时会回来,他想在他的妈妈回来时尽可能的写完多的科目(显得自己很努力),他该如何安排写作业的顺序呢?聪明的你帮他安排一下吧。

输入
第一行输入一个数n,接下来n行,每行有两个输入,第一个是科目名称,第二个是一个整数x,表示完成这门课所需要时间。1≤n≤10 6,1≤x≤10 6 ,输入保证科目名称不会超过100个字符、各科目所需的时间都不相同

输出
输出一行,n个科目名称,代表完成作业的顺序

题解
算法思想:结构体排序
据题意:先做完时间短的作业,因此只需对时间排序即可。(PS:注意所给的数据范围,时间复杂度不超过O(Nlogn)

#include <stdio.h>
#include <stdlib.h>typedef struct {int time;char name[105];
}subject;//创建结构体
subject num[1000005];//结构体数组int cmp(const void* a, const void* b)
{return ((subject*)a)->time - ((subject*)b)->time;
}
int main()
{int n;scanf("%d", &n);for (int i = 0; i < n; ++i) {scanf("%s%d", num[i].name, &(num[i].time));}//排序函数对结构体中的time进行排序qsort(num

本文发布于:2024-02-08 19:40:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739246168374.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:题解   西安   邮电大学   新生   ACM
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23