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

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

活動選擇 貪心

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

活動選擇 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;}
上一篇:51Nod - 1523 構造

下一篇:類與類的關系

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宽城| 阳朔县| 兰州市| 石泉县| 开鲁县| 烟台市| 阿巴嘎旗| 大关县| 徐闻县| 宁化县| 西乌| 灵璧县| 惠州市| 石柱| 靖江市| 建始县| 大荔县| 南木林县| 绥宁县| 泰和县| 贡山| 石阡县| 玉山县| 海兴县| 南雄市| 葫芦岛市| 大名县| 高阳县| 井冈山市| 合川市| 于田县| 忻州市| 和平县| 雅安市| 琼海市| 阜阳市| 甘泉县| 沽源县| 东乡县| 汽车| 娄烦县|