#include<stdio.h>
int main()
{ freopen("1.txt","r",stdin);
int n,i;
int s1[100],s2[100];
int l1[100],l2[100];
int in1,in2,out1,out2;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&s1[i]);
scanf("%d",&in1);
for(i=1;i<n;i++)
scanf("%d",&l1[i]);
scanf("%d",&out1);
for(i=1;i<=n;i++)
scanf("%d",&s2[i]);
scanf("%d",&in2);
for(i=1;i<n;i++)
scanf("%d",&l2[i]);
scanf("%d",&out2);
int fish1[100],fish2[100];
int line1[100],line2[100];
int resultline;
fish1[1]=in1+s1[1];
fish2[1]=in2+s2[1];
printf("fish1[%d]==%d\n",1,fish1[1]);
printf("fish2[%d]==%d\n",1,fish2[1]);
for(i=2;i<=n;i++)
{
if(fish1[i-1]+s1[i]<=fish2[i-1]+l2[i-1]+s1[i])
{
fish1[i]=fish1[i-1]+s1[i];
line1[i]=1;
printf("fish1[%d]==%d\n",i,fish1[i]);
}
else
{
fish1[i]=fish2[i-1]+l2[i-1]+s1[i];
line1[i]=2;
printf("fish1[%d]==%d\n",i,fish1[i]);
}
if(fish2[i-1]+s2[i]<=fish1[i-1]+l1[i-1]+s2[i])
{
fish2[i]=fish2[i-1]+s2[i];
line2[i]=2;printf("fish2[%d]==%d\n",i,fish2[i]);
}
else
{
fish2[i]=fish1[i-1]+l1[i-1]+s2[i];
line2[i]=1;printf("fish2[%d]==%d\n",i,fish2[i]);
}
}
printf("i==%d\n",i);
if(fish1[i-1]+out1<=fish2[i-1]+out2)
{
printf("min==%d line=1\n",fish1[i-1]+out1);
resultline=1;
for(i=2;i<=n;i++)
printf("%d ",line1[i]);
printf("\n");
}
else
{
printf("min==%d line=2\n",fish2[i-1]+out2);
resultline=2;
for(i=2;i<=n;i++)
printf("%d ",line2[i]);
printf("\n");
}
return 0;
}
本文深入探讨了程序设计和算法优化的关键概念,通过实例展示了如何利用数据结构、算法及编程技巧解决实际问题,旨在提升读者的编程能力与解决问题的效率。
1309

被折叠的 条评论
为什么被折叠?



