学渣小白 的学生作业:
练习1
1.上述图形星座的例子是线性表。
2.双子的前驱是:金牛,后继是:巨蟹
练习2
#include
#include
#include
#define debug 0
#define maximum_number_of_exam_participants 3
#define DEBUG_PRINT(…) do { if(debug) printf(VA_ARGS); } while(0)
/*赵一报名参加了数学,英语,政治(A,B,E)的考试
*钱二报名参加了生物,语文(C,D)的考试
*孙三报名参加了生物,政治,历史(C,E,F)的考试
*李四报名参加了语文,历史,数学(D,F,A)的考试
*周五报名参加了英语,历史(B,F)的考试。
*假设考试从上午8点考试,每个科目安排一个小时的时间。要求满足下面两个条件:
*(1)每个考试都能顺利进行
*(2)尽可能短缩总体考试时间
问如何安排才能让总考试时间最短,最短是几个小时?
*/
//推论1:报名最多的是三门,说明最少需要排三场考试
//推论2:一共有六门考试,最多排六场考试
//推论3:至多两门考试同时进行。一共5个人已知每门至少有两人参考,至多两门考试同时进行即4-5人同时考试。如:不可能5门考试进行,已知每门至少有两人参考,5门则至少10人同时考试
//推论4:三次考试每次两门一起考开始逐步排除,如1.三次考试每次两门一起考,2.两次考试每次两门一起考,在单独考两门3.以次考试每次两门一起考,再单独考三门。
//假设赵一学号为1,钱二学号为2,孙三学号为3,李四学号为4,周五学号为5
//假设每门考试为一个数组,经过查询最多人数maximum_number_of_exam_participants的为3人同时考试,则设置所有考试最大人数为此数,如数学考试为int A[3]={1,4};
const int A[maximum_number_of_exam_participants]={1,4,0};
const int B[maximum_number_of_exam_participants]={1,5,0};
const int C[maximum_number_of_exam_participants]={2,3,0};
const int D[maximum_number_of_exam_participants]={3,4,0};
const int E[maximum_number_of_exam_participants]={1,3,0};
const int F[maximum_number_of_exam_participants]={3,4,5};
const int *p[6]={A,B,C,D,E,F};
int two_exams_are_taking_place_simultaneously(int *a,int *b){
for(int i=0;i