C4

import java.io.File;
import java.util.Arrays;

public class Spustac {

        /**
         * @param args
         */

        public static void main(String[] args) {
                // TODO Auto-generated method stub

                File f = new File("C:\\eclipse");
                System.out.println(velkostSuborov(f));
        }

        public static long velkostSuborov(File adresar) {
                long velkost = 0;
                try {
                        if (adresar.isDirectory()) {
                                File[] mojeCreva=adresar.listFiles();
                                for (int i = 0; i < mojeCreva.length; i++) {
                                        velkost=velkost+
                                                        velkostSuborov(mojeCreva[i]);
                                }
                        } else {
                                velkost=adresar.length();
                        }
                } catch (Exception e) {
                        // TODO: handle exception
                        System.err.println("zle je");
                }
                return velkost;
        }

}
import java.io.File;
import java.util.*;

public class Osoba {
        /**
         * Meno osoby
         */

        private String meno;
        /**
         * Zoznam deti osoby
         */

        private List<Osoba> deti = new ArrayList<Osoba>();

        /**
         * Konstruktor osoby v strome potomkov
         *
         * @param meno
         *            meno osoby
         */

        public Osoba(String meno) {
                this.meno = meno;
        }

        /**
         * Prida osobe dieta
         *
         * @param dieta
         *            referencia na pridavane dieta
         */

        public void pridajDieta(Osoba dieta) {
                deti.add(dieta);
        }

        /**
         * Vrati celkovy pocet potomkov osoby
         */

        public int pocetPotomkov() {
                int pocetPotomkovDeti = 0;
                for (Osoba dieta : deti)
                        pocetPotomkovDeti += dieta.pocetPotomkov();

                return pocetPotomkovDeti + deti.size();
        }

        /**
         * Vypise rodostrom osoby
         */

        public void vypisRodostromIM() {
                System.out.println(meno);
                for (Osoba dieta : deti)
                        dieta.vypisRodostrom();
        }

        public int pocetGeneraciiIM() {

                int pocet = 0;
                int maximum = 0;
                for (Osoba dieta : deti) {
                        pocet = dieta.pocetGeneracii() + 1;
                        if (pocet >= maximum)
                                maximum = pocet;
                }
                return maximum;
        }

        public void pridajDoZoznamu(List<Osoba> zoznam) {
                zoznam.add(this);
                for (Osoba dieta : deti) {
                        zoznam.add(dieta);
                }
        }

public int pocetGeneraciiPM() {
        int vysledok = 0;
        int maximum = 0;
        for (Osoba dieta : deti) {
            vysledok = dieta.pocetGeneracii() + 1;
            if (vysledok > maximum) {
                maximum = vysledok;
            }
        }
        return maximum;
    }

    public void pridajDoZoznamuPM(List<Osoba> zoznam) {
        for (Osoba dieta : deti) {
            dieta.pridajDoZoznamu(zoznam);

            zoznam.add(dieta);
        }
    }

        public int pocetGeneraciiJA() {
                int pocet = 0;

                        for (Osoba dieta : deti) {
                                pocet = Math.max(dieta.pocetGeneracii() +1, pocet ) ;
                        }

                return pocet;

        }

        public void pridajDoZoznamuJA(List<Osoba> zoznam){
                zoznam.add(this);
                for (Osoba dieta : deti) {
                        if(dieta != null)
                        dieta.pridajDoZoznamu(zoznam) ;
                }
        }

public int pocetGeneraciiRG() {
            int pocet=0;
            if(deti==null){
                return 0;
            }
            for (Osoba dieta: deti){
                pocet = Math.max(pocet, dieta.pocetGeneracii()+1);

            }
            return pocet;
        }

        public void pridajDoZoznamuRG(List<Osoba> zoznam){
            for (Osoba dieta: deti){
                zoznam.add(dieta);
                dieta.pridajDoZoznamu(zoznam);
            }                    
        }

       public int pocetGeneraciiIB(){
                int pocet=0;
                int max=0;
                if (deti.size()==0) {
                                return 0;
                        }
                for (Osoba dieta: deti) {
                                pocet=dieta.pocetGeneracii()+1;
                                if (pocet>max) {
                                        max=pocet;
                                }
                        }
                return max;
        }
        public void pridajDoZoznamuIB(List<Osoba> zoznam){
                zoznam.add(this);
                for (Osoba dieta: deti)
            dieta.pridajDoZoznamu(zoznam);




        }


        public int pocetGeneraciiDP() {
                int pocet = 0;
                for (Osoba d : deti) {
                        pocet = Math.max(d.pocetGeneracii(), pocet);

                }
                pocet += 1;
                return pocet;
        }

        public void pridajDoZoznamuDP(List<Osoba> zoznam) {
                for (Osoba dieta : deti) {
                        dieta.pridajDoZoznamu(zoznam);

                }
                zoznam.add(this);

        }


        /**
         * Main s vytvorenim stromu potomkov pre Janka
         */

        public static void main(String[] args) {
                Osoba janko = new Osoba("Janko");
                Osoba jozko = new Osoba("Jozko");
                Osoba maria = new Osoba("Maria");
                Osoba karol = new Osoba("Karol");
                Osoba lucia = new Osoba("Lucia");
                Osoba petra = new Osoba("Petra");
                Osoba emil = new Osoba("Emil");
                janko.pridajDieta(jozko);
                janko.pridajDieta(maria);
                janko.pridajDieta(karol);
                karol.pridajDieta(lucia);
                karol.pridajDieta(petra);
                lucia.pridajDieta(emil);
                List<Osoba> zoznam = new ArrayList<>();
                janko.pridajDoZoznamu(zoznam);
                for (int i = 0; i < zoznam.size(); i++) {
                        System.out.println(zoznam.get(i).meno);
                }
                // janko.vypisRodostrom();
                // System.out.println(janko.pocetGeneracii());
        }
}