国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

活動選擇 貪心

2019-11-09 20:31:45
字體:
來源:轉載
供稿:網友

活動選擇 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic PRoblem Description

學校的大學生藝術中心周日將面向全校各個學院的學生社團開放,但活動中心同時只能供一個社團活動使用,并且每一個社團活動開始后都不能中斷。現在各個社團都提交了他們使用該中心的活動計劃(即活動的開始時刻和截止時刻)。請設計一個算法來找到一個最佳的分配序列,以能夠在大學生藝術中心安排不沖突的盡可能多的社團活動。 比如有5個活動,開始與截止時刻分別為:

這里寫圖片描述

最佳安排序列為:1,4,5。

Input

第一行輸入活動數目n(0<n<100); 以后輸入n行,分別輸入序號為1到n的活動使用中心的開始時刻a與截止時刻b(a,b為整數且0<=a,b<24,a,b輸入以空格分隔)。

Output

輸出最佳安排序列所包含的各個活動(按照活動被安排的次序,兩個活動之間用逗號分隔)。

Example Input

6 8 10 9 16 11 16 14 15 7 11

Example Output

1,5,4

**第一個選取的是最早結束的事件 下一個要選取的事件是上一個選取的事件結束之后開始的事件中最早結束的事件**

#include<stdio.h>struct node{ int num; int a; int b;}x[110],t;void ouput(int f[],int n){ int i; printf("%d",x[0].num); for(i=1;i<n;i++) { if(f[i]==1) printf(",%d",x[i].num); }}int main(){ int j,n,i,o,f[200]={0};//f標記變量 while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d%d",&x[i].a,&x[i].b); x[i].num=i+1; } for(i=0;i<=n-2;i++) { for(j=0;j<=n-i-2;j++) { if(x[j].b>x[j+1].b) { t=x[j];x[j]=x[j+1];x[j+1]=t; o=f[j];f[j]=f[j+1];f[j+1]=o; } } } int timestart=0; i=0; while(i<n) { if(x[i].a>=timestart) { f[i]=1; timestart=x[i].b; } i++; } ouput(f,n); } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴隆县| 谢通门县| 滕州市| 博湖县| 嘉鱼县| 资溪县| 灵丘县| 新宁县| 图们市| 龙陵县| 凉山| 循化| 呼玛县| 怀仁县| 阳谷县| 晋江市| 梁山县| 宿松县| 咸阳市| 东光县| 凭祥市| 新泰市| 游戏| 新密市| 栖霞市| 时尚| 平定县| 河曲县| 襄汾县| 黄骅市| 五寨县| 永定县| 尖扎县| 房产| 沿河| 舞钢市| 巩义市| 柘城县| 叙永县| 温宿县| 视频|