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

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

活動選擇 貪心

2019-11-10 18:15:33
字體:
來源:轉載
供稿:網友

活動選擇 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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 田阳县| 溧水县| 德安县| 乌兰浩特市| 米林县| 文化| 鹿泉市| 岳池县| 同江市| 尖扎县| 慈利县| 育儿| 昔阳县| 墨竹工卡县| 栾川县| 林甸县| 利川市| 罗源县| 竹溪县| 海宁市| 榕江县| 武陟县| 常山县| 临泉县| 天台县| 哈密市| 莱州市| 吉水县| 长岭县| 搜索| 灵台县| 信丰县| 光泽县| 正定县| 都昌县| 长沙县| 博湖县| 苍山县| 庄河市| 礼泉县| 务川|