轮胎充气
来源:互联网 发布:js 用法 编辑:程序博客网 时间:2024/05/17 02:24
//我的代码
package xj;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class LunTai {
static int T, N,limit;
static int data[][];
static int a[];
static boolean used[];
static int mind;
static boolean flag;
public static void main(String[] args) throws FileNotFoundException {
/* Scanner sc=new Scanner(System.in); */
Scanner sc = new Scanner(new File("src/LunTai"));
while(sc.hasNext()){
N=sc.nextInt();
limit=sc.nextInt();
data=new int [N][2];
used=new boolean[N];
a=new int[N];
for (int i = 0; i < N; i++) {
for (int j = 0; j <2; j++) {
data[i][j]=sc.nextInt();
}
}
flag=false;
mind=0xfffffff;
dfs(0,0,0);
//
if(!flag){System.out.println("-1");}
else{System.out.println(mind);}
}
}
private static void dfs(int step, int sum,int min) {
if(step==N){
if(check()){flag=true;}
if(mind>min){mind=min;}return;
}
for (int i = 0; i < N; i++) {
if(!used[i]){
//a[step]=i;
int t=min;
int k=sum;
used[i]=true;
int c=moni(i,sum,min);
if(c!=-1){
sum+=data[i][0];
sum-=data[i][1];
if(sum<0){min+=-sum;sum=0;}
dfs(step+1,sum,min);
sum=k;
min=t;
}
used[i]=false;
}
}
}
private static boolean check() {
for (int i = 0; i < N; i++) {
if(!used[i]){return false;}
}
return true;
}
private static int moni(int i,int sum, int min) {
sum+=data[i][0];
if(sum>limit){return -1;}
sum-=data[i][1];
if(sum<0){min+=-sum;sum=0;}
return min;
}
}
//波的代码
package com.domain;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public classLunTai {
static int p;
static int[][] data;
static int[] arr;
static int[] used;
static int S;
public static void main(String[] args)throws FileNotFoundException {
Scanner sc=new Scanner(newFileInputStream("src/input.txt"));
int a=sc.nextInt();
while(a--!=0){
p=sc.nextInt();
data=new int[p][2];
arr=new int[p];
used=new int[p];
S=1000000;
for (int i= 0; i< p; i++){
for (int j= 0; j< 2; j++){
data[i][j]=sc.nextInt();
}
}
DFS(0);
System.out.println(S);
}
}
private static void DFS(int step){
if (step==p){
int c=moni();
if (c!=-1){
if (S>c){
S=c;
}
}
return;
}
for (int i= 0; i< p; i++){
if (used[i]==0){
arr[step]=i;
used[i]=1;
DFS(step+1);
used[i]=0;
}
}
}
private static int moni(){
int a=0;
int i=0;
int m=0;
for(;i<p;i++){
a+=data[arr[i]][0];
if (a>100){
return -1;
}
a-=data[arr[i]][1];
if (a<0){
m+=-a;
a=m;
i=0;
}
}
return m;
}
}
//input
3 100
75 30
45 55
80 95
3 100
30 0
30 0
0 40
3 50
75 30
45 55
80 95
3 50
30 0
30 0
0 40
//output
15
0
-1
10
- 轮胎充气
- 求购轮胎!!!
- 轮胎初识
- 轮胎知识
- 轮胎检查之法宝
- 1. 轮胎如何换?
- 汽车和轮胎
- 占豪收评---轮胎特保案
- 轮胎的密码
- 轮胎的规格表示
- AChartEngine中轮胎图
- vijos 1421 更换轮胎
- 轮胎规格怎么看
- 【智力题】轮胎的寿命
- 实现轮胎印
- 轮胎规格:195/60 R15
- 家用轿车轮胎多久更换一次?
- 轮胎打气的正确方法
- ajax回调json数组对象,jquery中$.each()循环解析
- SQL语句LIKE
- 字符串常量池及byte数据常量池
- 推荐大家使用的CSS书写规范、顺序
- CSS的浮动(一)
- 轮胎充气
- 函数实现判断素数并调用函数输出100以内所有素数
- 如何使用python进行社交网络分析
- 《JAVA与模式》之责任链模式
- Consul 服务注册与服务发现
- CSS初体验
- HDU3829-Cat VS Dog
- 牛客模拟一:DNA合成
- 博客资源收集(持续更新)