题目:
很经典的活动安排问题变形, 与算法教材的活动安排一样,依据结束时间进行排序,然后相容的累加就可以。
// 经典贪心问题 活动时间安排的简单变形// 按活动结束时间,递增排序, 结束时间早的。优先选择#includeusing namespace std;typedef struct active{ int st; int ed; bool operator < (const struct active &at) const { return this->ed < at.ed; }}Active;const int MAX = 100+5;Active arr[MAX];int main(void){ //freopen("in.txt", "r", stdin); int n = 0; while(cin>>n && n != 0) { for(int i=0; i = arr[j].ed) { j = i; cnt++; } } printf("%d\n", cnt); } return 0;}