pku2744.java

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· Java 代码 · 共 48 行

JAVA
48
字号
import java.io.*;
import java.util.*;
class Main
{
	static double b,v,e,f;
	static int r;
	static double t[]=new double[10001];
	static double ft[]=new double[101];
	public static void main(String args[]) throws Exception
	{
		Scanner cin=new Scanner(System.in);
		int n,a[],x;
		int i,j;
		while(true)
		{
			n=cin.nextInt();
			if(n==0) break;
			a=new int[n+1];
			for(i=0;i<n;i++) a[i+1]=cin.nextInt();
			a[0]=0;
			b=cin.nextDouble();
			r=cin.nextInt();
			v=cin.nextDouble();
			e=cin.nextDouble();
			f=cin.nextDouble();
			for(i=0;i<a[n];i++)
			{
				if(i<r) t[i+1]=t[i]+1/(v-f*(r-i));
				else t[i+1]=t[i]+1/(v-e*(i-r));
			}
			for(i=1;i<=n;i++) ft[i]=1e11;
			ft[0]=0;
			for(i=0;i<n;i++)
			{
				for(j=i+1;j<=n;j++)
				{
					int temp=a[j]-a[i];
           			if(t[temp]+ft[i]<ft[j]&&j==n)
           			ft[j] = ft[i] + t[temp];
           			else if(t[temp]+ft[i]+b<ft[j])
           			ft[j] =ft[i]+t[temp]+b;
				}
			}
			System.out.printf("%.4f\n",ft[n]);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?