📄 111.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 50
#define TURE 1
#define FALSE 0
int s[N],f[N],A[N];
void greedyselector(int n,int *s,int *f,int *A) //贪心算法实现活动选择
{
int i,j;
A[1]=TURE;
j=1;
for(i=2;i<=n;i++)
{
if(s[i]>=f[j])
{
A[i]=TURE;
j=i;
}
else
A[i]=FALSE;
}
}
void main()
{
int n=0,i;
while(n<=0||n>50)
{
printf("请输入待安排活动的个数(介于0到50之间),n=");
scanf("%d",&n);
if(n<=0)
printf("请输入大于零的数!\n");
else if(n>50)
printf("请输入小于30的数!\n");
}
for(i=1;i<=n;i++)
{
printf("请输入第%d个活动开始的时间,s[%d]=",i,i);
scanf("%d",&s[i]);
printf("请输入第%d个活动结束的时间,f[%d]=",i,i);
scanf("%d",&f[i]);
}
printf("\n\n活动号i\t开始时间 结束时间\n"); //显示输入数据
printf("-------------------------\n");
for(i=1;i<=n;i++)
printf(" %d\t %d\t %d\n",i,s[i],f[i]);
printf("\n\n");
getch();
greedyselector(n,s,f,A); //建立最大相容子集
printf("安排的活动次序为:");
for(i=1;i<=n;i++)
{
if(A[i])
printf("\n%d %d---%d",i,s[i],f[i]);
}
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -