HDU 5240 Exam

来源:互联网 发布:w10系统优化加速 编辑:程序博客网 时间:2024/05/21 18:49
#include <stdio.h>#include <stdlib.h>#define MAX_EXAMS 100000int numOfExams;typedef struct Exam{int hoursBefore;int hoursLater;int hoursLast;}Exam;Exam ExamArray[MAX_EXAMS + 1];int compare(Exam one, Exam another){if (one.hoursLater == another.hoursLater)return one.hoursLast - another.hoursLast;elsereturn one.hoursLater - another.hoursLater;}int cmp(const void *a, const void *b){return compare( *(Exam *)a, *(Exam *)b );}int main(){int numOfTestCases;scanf("%d", &numOfTestCases);int testCase;for (testCase = 1; testCase <= numOfTestCases; testCase++){scanf("%d", &numOfExams);int exam;for (exam = 1; exam <= numOfExams; exam++)scanf("%d%d%d", &ExamArray[exam].hoursBefore, &ExamArray[exam].hoursLater, &ExamArray[exam].hoursLast);qsort(&ExamArray[1], numOfExams, sizeof(ExamArray[0]), cmp);printf("Case #%d: ", testCase);int pass = 1;int time = 0;for (exam = 1; exam <= numOfExams; exam++){time += ExamArray[exam].hoursBefore;if (time > ExamArray[exam].hoursLater){pass = 0;break;}time += ExamArray[exam].hoursLast;}if (pass)printf("YES\n");elseprintf("NO\n");}return 0;}

0 0
原创粉丝点击