要求:需要购买三种蔬菜,三种蔬菜必须在不同的商店购买,使得花费最省。
import java.util.Scanner;
public class BuyVegetable {
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
int testcase=sc.nextInt();
for(int i=0;i<testcase;i++) {
int n=sc.nextInt();
int[][]prices=new int[n][3];//n家店铺,3种蔬菜
for(int j=0;j<n;j++) {
for(int k=0;k<3;k++) {
prices[j][k]=sc.nextInt();
}
}
for(int j=1;j<n;j++) {
for(int k=0;k<3;k++) {
//取上一家店铺中购买其它两种蔬菜的最低价
prices[j][k]+=Math.min(prices[j-1][(k+1)%3], prices[j-1][(k+2)%3]);
}
}
int min=Integer.MAX_VALUE;
for(int j=0;j<3;j++) {
if(prices[n-1][j]<min) {
min=prices[n-1][j];
}
}
System.out.println(min);
}
sc.close();
}
}