2、ofishing实验目的:通过本实验,熟悉掌握贪心算法实验要求:钓鱼。h小时可用(1<=h<=16),n湖泊面积(2<=n<=25)所有可访问的一个单向道路。约翰开始在任何湖湖1,但他能完成他想要的。他只能从一个湖下一个,但他没有停止在任何湖,除非他想。对于每一个n=1,…n-1,5分钟间隔的数量需要从湖我湖+1是用ti(0=0)。每5分钟的捕鱼的数量减少鱼将在接下来的5分钟
3、间隔的恒定速率依赖注入(di>=0)。如果鱼的数量预计将在一个时间间隔小于或等于di,就不会有更多的鱼在湖在接下来的时间间隔。编程使得钓鱼数量最大话。源程序:#include#includeusingnamespacestd;#defineFOR(i,n)for(i=0;i<(int)n;++i)intfi[30];intdi[30];intti[30];intfish_times[30];intN,H;intstay[30];voidsolve(){inti,j,max_fish=-1;FOR(i,N)
4、{memset(fish_times,0,sizeof(fish_times));inttimes=H-ti[i];int_max=0;for(j=0;j5、[j]=fish_times[j]*5;}}FOR(i,N-1)printf("%d,",stay[i]);printf("%d",stay[N-1]);printf("Numberoffishexpected:%d",max_fish);}intmain(void){while(cin>>N){if(N==0)break;cin>>H;H=H*12;memset(fi,0,sizeof(fi));memset(di,0,sizeof(di));memset(ti,0,sizeof(di));memset(stay,0,sizeof(
6、stay));inti;FOR(i,N)cin>>fi[i];FOR(i,N)cin>>di[i];FOR(i,N-1){inta;cin>>a;ti[i+1]=ti[i]+a;}solve();}}实验结果:SampleInput2110125244101520170343123441015503003431230SampleOutput45,5Numberoffishexpected:31240,0,0,0Numberoffishexpected:480115,10,50,35Numberoffishexpected:724实验分析:本次实验
7、是通过钓鱼的数量来体现贪心算法。在规定的时间内,使得钓鱼的数量达到最多。③poj.1328RadarInstallation实验目的:通过本实验,熟悉掌握贪心算法实验要求:假设无限直线滑行。陆地在滑行的一侧,海洋另一个。每个小岛都是一个定位在海边。和任何雷达安装,定位在滑行,只能盖d距离,因此一个岛屿在海洋里可以通过半径覆盖安装,如果它们之间的距离是最多。我们使用笛卡儿坐标系,定义惯性轴。海边是轴之上,下面的土地方面。考虑到大海,每个岛的位置考虑到雷达的覆盖的距离安装,你的任务是编写一个程序找到的最小数量的雷达装置涵盖所有的岛屿。请注意一个岛屿的
8、位置是由它的x-y坐标表示。输入包含多个测试用例。每个案例的第一行包含两个整数(1<=n<=1000)和d,其中n是海里的许多岛屿和d的