解题思路:

注意事项:

参考代码:

import java.util.Scanner;



public class test1282 {
	public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] x=new int[10];
        int imin=999;
        for (int i = 0; i < x.length; i++) {
			x[i]=sc.nextInt();
			imin=Math.min(imin, x[i]);
			
		}
        int sum=sc.nextInt();
        int[][] che=new int[sum][sum];
        for (int i = 0; i < che[0].length; i++) {
			che[0][i]=(i+1)*x[0];
		}
        int l=1,m=0;
        if (sum==1) {
			System.out.println(imin);
			return;
		}
        for (int i = 1; i < x.length; i++) {
        	m=0;
			for (int j = 0; j < che.length; j++) {
				if (i>j) {
				}
				else if ((j+1)%(i+1)==0) {
					
					m+=x[l];
					che[i][j]=Math.min(m, che[i-1][j]);
					
					
				} 
				else if(i!=j) {
					
					che[i][j]=Math.min(m+x[(j)%(i+1)], che[i-1][j]);
					che[i][j]=Math.min(che[i][j], m+che[0][(j)%(i+1)]);
					if (j%i==1&i<9) {
						che[i][j]=Math.min(che[i][j], m-x[l]+x[i+1]);
					}
				}
				else if(j>sum&j%i==0) {
					break;
				}
				
			}
			
			if (l<9) {
				l++;
			}
		}
        int min1=999;
        for (int j = sum-1; j < sum; j++) {
        	for (int i = 0; i <sum; i++) {
    			if (che[i][j]!=0) {
    				min1=Math.min(che[i][j], min1);
    				
    			}
    		}
		}
        System.out.println(min1);
    }
}


 

0.0分

0 人评分

  评论区

  • «
  • »