Rezultati

Up. imeNalogaJezikRezultatČas oddaje
FRISPI-2017 Prijateljske besede Java 0/100Napaka med izvajanjem / ob izhodu (RTE) 20. apr '17 @ 19:12

Test Točke Porabljen spomin Porabljen čas Status
#1 12/12 38,297 MiB 0,000 s OK
#2 0/12 40,551 MiB 0,000 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)
#3 0/12 50,289 MiB 0,110 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)
#4 0/12 54,156 MiB 0,131 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)
#5 0/13 53,344 MiB 0,072 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)
#6 0/13 51,773 MiB 0,096 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)
#7 13/13 56,141 MiB 0,131 s OK
#8 0/13 54,086 MiB 0,084 s Program je končal z neničelno kodo
Stderr:
Exception in thread "main" java.lang.NullPointerException
	at beseda.main(beseda.java:69)

Ocenjevani program (beseda.java):
import java.util.*;

public class beseda {
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        sc.nextLine();
        String[] besede = new String[N];
        String[] zac= new String[N];
        String[] kon = new String[N];
        
        for(int i = 0; i < N; i++)  {
            besede[i] = sc.nextLine();
        }
        
        int st = 1, st_z=1, st_k = 1;
        int zp = 0, kp = 0, p = 1;
        
        zac[0] = besede[0].substring(0,3);
        int l = besede[0].length();
        kon[0] = besede[0].substring(l-3,l);
        
     
        
        while(st_z > 0 || st_k > 0) {
            //uredi zac tabelo
            for(int i = 0; i < st_z; i++)   {
                String s = zac[zp+i];
                for(int j = p; j < N; j++)  {
                    l= besede[j].length();
                    if(besede[j].substring(0,3).equals(s))  {
                        st++;
                        boolean pojavi = false;
                        
                        for(int k = 0; k < kp+st_k; k++)    {
                            
                            if(kon[k].equals(besede[j].substring(l-3,l)))   {
                                pojavi = true;
                                break;
                            }
                        }
                        
                        if(!pojavi) {
                            kon[kp+st_k] = besede[j].substring(l-3,l);
                            st_k++;
                        }
                        
                        besede[j] = besede[p];
                        p++;
                    }
                }
            }
            zp += st_z;
            st_z = 0;
            
           //uredi kon tabelo
           
           for(int i = 0; i < st_k; i++)   {
                String s = kon[kp+i];
                for(int j = p; j < N; j++)  {
                    l= besede[j].length();
                    if(besede[j].substring(l-3,l).equals(s))  {
                        st++;
                        boolean pojavi = false;
                        
                        for(int k = 0; k < zp+st_z; k++)    {
                            
                            if(kon[k].equals(besede[j].substring(0,3)))   {
                                pojavi = true;
                                break;
                            }
                        }
                        
                        if(!pojavi) {
                            zac[zp+st_z] = besede[j].substring(0,3);
                            st_z++;
                        }
                        
                        besede[j] = besede[p];
                        p++;
                    }
                }
            }
            kp += st_k;
            st_k = 0;
        }
        
        System.out.print(st);
    }
}