📄 project1.java
字号:
import java.io.*;
import java.util.*;
import java.math.*;
class project1{
int line=0,index=0,c=1;
String input;
StringTokenizer st;
int Case=0;
int T=0;
int t1=0,t2=0; //trip t1=A->B t2=B->A
int min[][];
int num=0;
int Hour=0,Min=0;
String TMP="";
int retA=0,retB=0,minimumA=Integer.MAX_VALUE,minimumB=Integer.MAX_VALUE;
public static void main(String args[]) throws Exception{
project1 file=new project1();
file.parse();
}
/*public void output()throws Exception {
BufferedWriter wStream=new BufferedWriter( new FileWriter(".\\B-small.out"));
for(int j=0;j<Case;j++) {
wStream.write("Case #"+(j+1)+": "+Math.abs(minimumA)+" "+Math.abs(minimumB));
wStream.newLine();
}
wStream.close();
}*/
public void result() {
int temp=0;
for(int i=0;i<num*2;i++) {
if(min[1][i]==-1) {
retA-=1;
}
if(min[1][i]==-2) {
retB-=1;
}
if(min[1][i]==1) {
retB+=1;
}
if(min[1][i]==2) {
retA+=1;
}
if(i!=(num*2-1)) {
if(min[0][i]!=min[0][i+1]) {
if(retA<minimumA) {
minimumA=retA;
System.out.println("tminimunA:"+minimumA+"\n");
}
if(retB<minimumB) {
minimumB=retB;
System.out.println("tminimunB:"+minimumB+"\n");
}
}
}
else {
if(retA<minimumA) {
minimumA=retA;
System.out.println("tminimunA:"+minimumA+"\n");
}
if(retB<minimumB) {
minimumB=retB;
System.out.println("tminimunB:"+minimumB+"\n");
}
}
}
System.out.println("minimunA:"+minimumA+"\n");
System.out.println("minimumB:"+minimumB+"\n");
}
public void sort() {
int i,j;
int m;//min
int tmp=0;
/* for(i=0;i<num*2;i++) {
System.out.println("barr:"+min[0][i]+" "+min[1][i]+"\n");
}*/
for(i=0;i<num*2;i++) {
m=i;
for(j=i+1;j<num*2;j++)
if(min[0][j]<min[0][m])m=j;
tmp=min[0][i];
min[0][i]=min[0][m];
min[0][m]=tmp;
tmp=min[1][i];
min[1][i]=min[1][m];
min[1][m]=tmp;
}
for(i=0;i<num*2;i++) {
System.out.println("arr:"+min[0][i]+" "+min[1][i]+"\n");
}
}
public void parse() throws Exception{
BufferedReader br = new BufferedReader(
new FileReader("B-large.in"));
BufferedWriter wStream=new BufferedWriter( new FileWriter(".\\B-small.out"));
// if(br.ready())
// {
// input=br.readLine();
//st=new StringTokenizer(input);
//int dim=st.countTokens();
//for(int i=0;i<dim-1;i++)
// double x[][]=new double[4][1000];
// double result[]=new double[1000];
// }
if((input=br.readLine()) != null) {
st=new StringTokenizer(input);
Case=Integer.parseInt(st.nextToken());
}
while(br.ready())
{
retA=0;
retB=0;
minimumA=Integer.MAX_VALUE;
minimumB=Integer.MAX_VALUE;
if((input=br.readLine()) != null) {
st=new StringTokenizer(input);
T=Integer.parseInt(st.nextToken());
}
if((input=br.readLine()) != null) {
st=new StringTokenizer(input);
t1=Integer.parseInt(st.nextToken());
t2=Integer.parseInt(st.nextToken());
num=t1+t2;
min=new int[2][num*2];
}
line=0;
index=0;
for(int k=0;k<num;k++) {
if((input=br.readLine()) != null) {
line++;
st=new StringTokenizer(input);
TMP=st.nextToken();
Hour=Integer.parseInt(TMP.substring(0, 2));
Min=Integer.parseInt(TMP.substring(3, 5));
//System.out.println("Hour:"+Hour+"\n");
Min=Min+Hour*60;
System.out.println("MinStart:"+Min+"\n");
if(line<=t1){
min[0][index]=Min;
min[1][index]=-1;//A
// System.out.println("A\n");
}
else {
min[0][index]=Min;
min[1][index]=-2;//B
// System.out.println("B\n");
}
index++;
TMP=st.nextToken();
Hour=Integer.parseInt(TMP.substring(0, 2));
Min=Integer.parseInt(TMP.substring(3, 5));
//System.out.println("Hour:"+Hour+"\n");
Min=Min+Hour*60;
System.out.println("MinArrive:"+Min+"\n");
min[0][index]=Min+T;
if(line<=t1){
min[1][index]=1;//A
}
else {
min[1][index]=2;//B
}
index++;
}
}
sort();
result();
wStream.write("Case #"+c+": "+Math.abs(minimumA)+" "+Math.abs(minimumB));
wStream.newLine();
c++;
// R = Integer.parseInt(st.nextToken());
// C = Integer.parseInt(st.nextToken());
//System.out.println("dim"+st.countTokens());
}
wStream.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -