Untitled
unknown
plain_text
2 years ago
2.6 kB
18
Indexable
package practice;
import java.io.FileInputStream;
import java.util.Scanner;
public class hugovenha {
static boolean[][] check;
static int[][] soquantaimoilan,coppy;
static int N, min, cost;
static int[][] cong;
static void try1(int index, int soquan) {
if (cost > min) {
return;
}
if (index == N) {
if (min > cost) {
min = cost;
}
return;
}
for (int i = 0; i < 3; i++) {
if (i == 0) {
cost += cong[index][1];
try1(index + 1, soquan);
cost -= cong[index][1];
}
if (i == 1) {
cost += cong[index][1] * 2;
soquantaimoilan[index][1] = cong[index][1];
soquantaimoilan[index][0] = 0;
try1(index + 1, soquan + cong[index][0]);
cost -= cong[index][1] * 2;
soquantaimoilan[index][1] = 0;
soquantaimoilan[index][0] = 0;
}
if(i ==2) {
int soquanthucte = 0;
for(int i1 =0 ;i1<N;i1++) {
if(soquantaimoilan[i1][0] <3) {
soquanthucte += soquantaimoilan[i1][1];
}
}
//soquan = soquanthucte;
int chien = cong[index][1];
if(soquanthucte>= chien) {
for(int i2 = 0;i2<N;i2++) {
coppy[i2][0] = soquantaimoilan[i2][0];
coppy[i2][1] = soquantaimoilan[i2][1];
}
for(int i2 = 0;i2<N;i2++) {
if(soquantaimoilan[i2][0] <3) {
if(soquantaimoilan[i2][1] < chien) {
chien -= soquantaimoilan[i2][1];
soquantaimoilan[i2][1] = 0;
continue;
}
else {
soquantaimoilan[i2][1] -= chien;
break;
}
}
}
for(int i2 = 0;i2<N;i2++) {
if(soquantaimoilan[i2][1] > 0) {
soquantaimoilan[i2][0]++;
}
}
try1(index+1, soquanthucte);
for(int i2 = 0;i2<N;i2++) {
soquantaimoilan[i2][0]= coppy[i2][0] ;
soquantaimoilan[i2][1]=coppy[i2][1] ;
}
}
else {
break;
}
}
}
}
public static void main(String[] args) throws Exception {
System.setIn(new FileInputStream("src/practice/input.txt"));
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
for (int t = 1; t <= T; t++) {
N = scanner.nextInt();
cong = new int[N][2];
soquantaimoilan = new int[N][2];
coppy = new int[N][2];
for (int i = 0; i < N; i++) {
cong[i][0] = scanner.nextInt();
cong[i][1] = scanner.nextInt();
}
min = Integer.MAX_VALUE;
cost = 0;
try1(0, 0);
System.out.println("#"+t+" "+min);
}
}
}
Editor is loading...
Leave a Comment