c語言 值班安排

2021-09-24 22:41:37 字數 1238 閱讀 5312

醫院有a、b、c、d、e、f、g 7位大夫,在一星期內(星期一至星期天)每人要輪流值班一天,如果已知: (1)a大夫比c大夫晚1天值班; (2)d大夫比e大夫晚1天值班; (3)e大夫比b大夫早2天值班 (4)b大夫比g大夫早4天值班; (5)f大夫比b大夫晚1天值班; (6)f大夫比c大夫早1天值班; (7)f大夫星期四值班。 就可以確定周一至週日的值班人員分別為:e、d、b、f、c、a、g。 編寫程式,根據輸入的條件,輸出星期一至星期天的值班人員。

輸入格式:

先輸入乙個整數n,再輸入n組條件,要求能夠根據輸入的條件確定唯一的值班表,且輸入的n組條件中能夠直接或間接得到任意兩位大夫的關聯關係,例如上面的條件(2)直接顯示了d與e間的關係,而通過條件(1)、(6)、(5)可以間接得到a與b的關係。 條件的輸入格式有2種: 格式1:編號 比較運算子 編號 天數 其中比較運算子有2種:> 或 < ,分別表示「早」或「晚」 例如:a輸出格式:

輸出周一至週日的值班序列。

輸入樣例:

7

ab2b>g4

fc1f=4

輸出樣例:

edbfcag
c語言**

#includestruct conditioncondition[20];

int judge(int *a,int n); //判斷函式

int main(void)

else

if(s[1] == '<')

}//迴圈給陣列賦值 0~6各種情況,在給判斷函式判斷是否符合輸入的條件。

int day[7] ; //值班順序 ,下標表示 abcdefg,對應值表示時間。

int a,b,c,d,e,f,g;

for(a=0; a<7; a++)}}

}}

} }e: if(judge(day,n))

day[8] = '\0';

puts(day); }

return 0;

}int judge(int *a,int n)

else if(a[condition[i].obj1] + condition[i].num != a[condition[i].obj2])

} return ret;

}

值班安排 C語言

醫院有a b c d e f g共7位大夫,在一星期內每人要輪流值班一天,如果已知 1 a大夫比c大夫晚一天值班 2 d大夫比e大夫晚一天值班 3 e大夫比b大夫早兩天值班 4 b大夫比g大夫早四天值班 5 f大夫比b大夫晚一天值班 6 f大夫比c大夫早一天值班 7 f大夫星期四值班。就可確定周一至...

會場安排問題 C語言

假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場.設計乙個有效的貪心演算法進行安排。這個問題先要使用貪心演算法,那麼將所有活動用貪心演算法排一遍,然後將剩下活動裡剩下的活動繼續用貪心演算法解決,一直到把所有的活動都安排完。每用一次貪心演算法,會場數 1.直到吧活動安排結束。使用貪心演算法...

會場安排問題 C語言 貪心策略

題目描述 假設要在足夠多的會場裡安排一批活動,並希望使用盡可能少的會場。設計乙個有效的貪心演算法進行安排 解題思路 1.對活動進行排序,開始時間越早排在越前面,如果兩個活動時間相同,則結束時間越早的排在越前面 2.始時間最早和持續時間最短的優先安排會場,並記錄會場號,3.其餘活動的開始時間大於或等於...