Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.PrintStream;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Scanner;
- public class F1Test {
- public static void main(String[] args) throws IOException {
- F1Race f1Race = new F1Race();
- f1Race.readResults(System.in);
- f1Race.printSorted(System.out);
- }
- }
- class Driver{
- String name;
- String lap1;
- String lap2;
- String lap3;
- public Driver(String name, String lap1, String lap2, String lap3) {
- super();
- this.name = name;
- this.lap1 = lap1;
- this.lap2 = lap2;
- this.lap3 = lap3;
- }
- }
- class F1Race{
- ArrayList<Driver> niza;
- public F1Race()
- {
- niza=new ArrayList<Driver>();
- }
- public void readResults(InputStream inputStream)
- {
- Scanner vnesi=new Scanner(inputStream);
- while(vnesi.hasNextLine())
- {
- String pom=vnesi.nextLine();
- String [] kraj=pom.split(" ");
- String n=kraj[0];
- String l1=kraj[1];
- String l2=kraj[2];
- String l3=kraj[3];
- Driver nov=new Driver(n,l1,l2,l3);
- niza.add(nov);
- }
- vnesi.close();
- }
- public void printSorted(OutputStream outputStream)
- {
- PrintStream nov=new PrintStream(outputStream);
- String [] pole=new String[niza.size()];
- String [] krug=new String[niza.size()];
- int k=0;
- for(int i=0;i<niza.size();i++)
- {
- krug[k]=sortiraj(niza.get(i).lap1,niza.get(i).lap2,niza.get(i).lap3);
- k++;
- }
- int t=0;
- for(int h=0;h<niza.size();h++)
- {
- pole[t]=niza.get(h).name;
- t++;
- }
- String pom=null;
- String pom1=null;
- for(int j=0;j<k;j++)
- {
- for(int p=j+1;p<k;p++)
- {
- if(pomala(krug[p],krug[j]))
- {
- pom=krug[j];
- krug[j]=krug[p];
- krug[p]=pom;
- pom1=pole[j];
- pole[j]=pole[p];
- pole[p]=pom1;
- }
- }
- }
- for(int i=0;i<pole.length;i++)
- {
- nov.print(i+1);
- nov.flush();
- nov.print(". ");
- nov.flush();
- nov.print(String.format("%-10s", pole[i]));
- nov.flush();
- nov.print(String.format("%10s", krug[i]));
- nov.flush();
- nov.println("");
- }
- nov.close();
- }
- public String sortiraj(String l1,String l2,String l3)
- {
- String [] r1=l1.split(":");
- String [] r2=l2.split(":");
- String [] r3=l3.split(":");
- int rez1=(Integer.parseInt(r1[0])*60000)+(Integer.parseInt(r1[1])*1000)+(Integer.parseInt(r1[2]));
- int rez2=(Integer.parseInt(r2[0])*60000)+(Integer.parseInt(r2[1])*1000)+(Integer.parseInt(r2[2]));
- int rez3=(Integer.parseInt(r3[0])*60000)+(Integer.parseInt(r3[1])*1000)+(Integer.parseInt(r3[2]));
- if(rez1<rez2 && rez1<rez3)
- return l1;
- else if(rez2<rez1 && rez2<rez3)
- return l2;
- else
- return l3;
- }
- public boolean pomala(String l1,String l2)
- {
- String [] r1=l1.split(":");
- String [] r2=l2.split(":");
- int rez1=(Integer.parseInt(r1[0])*60000)+(Integer.parseInt(r1[1])*1000)+(Integer.parseInt(r1[2]));
- int rez2=(Integer.parseInt(r2[0])*60000)+(Integer.parseInt(r2[1])*1000)+(Integer.parseInt(r2[2]));
- if(rez1<rez2)
- return true;
- else
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement