NP Juni

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 70

сите задачи од јунскиот испит се тука, само не е баш решена 2рата, а

лабораториската задача беше од code.finki (лаб 5 генерички ред)

===================================================================================
==========================

Влезна задача:
текстот беше нешто да се најде максималниот број на појавувања на даден карактер во
дадена линија и да се испечати тој број
нешто отприлика вака е влезот:

input
-------
zzzdravoo na site
prijaaatno
naprrredno programiranje

output
----------
3 (бидејќи 'z' 3 пати се појавува)
3 (бидејќи 'a' 3 пати се појавува)
6 (бидејќи 'r' 6 пати се појавува)

Решение:

package mk.ukim.finki.np.juni.vlez;

import java.io.*;
import java.util.*;
import java.util.stream.Collectors;

class Line {
Map<Character, Integer> map;

public Line(Map<Character, Integer> map) {


this.map = map;
}

public static Line create(String line) {


Map<Character, Integer> temp = new TreeMap<>();
for (int i = 0; i < line.length(); i++) {
if (Character.isAlphabetic(line.charAt(i))) {
temp.put(Character.toLowerCase(line.charAt(i)), mapCharacter(line,
Character.toLowerCase(line.charAt(i))));
}
}
return new Line(temp);
}

public static int mapCharacter(String line, char c) {


int counter = 0;
for (int i = 0; i < line.length(); i++) {
if (Character.toLowerCase(line.charAt(i)) == c) counter++;
}
return counter;
}
public int countMaxChar() {
return map.values().stream().max(Comparator.naturalOrder()).get();
}

class TextProcessor {

List<Line> lines = new ArrayList<>();

public void process(InputStream in, PrintStream out) {


BufferedReader br = new BufferedReader(new InputStreamReader(in));
List<String> input = br.lines().collect(Collectors.toList());

lines = input.stream()
.map(i -> Line.create(i))
.collect(Collectors.toList());

PrintWriter pw = new PrintWriter(new OutputStreamWriter(out));

lines.stream().forEach(i -> pw.println(i.countMaxChar()));

pw.flush();

}
}

public class EntryTask {


public static void main(String[] args) {
TextProcessor textProcessor = new TextProcessor();
textProcessor.process(System.in, System.out);
}
}

===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================

Втората беше лична како Book Collections од code.finki со нешто плус


(мене ми извади грешка на мудл кај последниот метод [getCountByDirector(int n)],
бидејќи изгледа не поддржува таа верзија на јава да се претвора од сет во листа)
инаку добив 32/35 за ова

Да се напише класа за филм Movie во која се чува:

наслов
режисер
жанр
рејтинг
Да се имплементира конструктор со следните аргументи Movie(String title, String
director, String genre, float rating).
Потоа да се напише класа MovieCollection во која се чува колекција од филмови. Во
оваа класа треба да се имплементираат следните методи:

public void addMovie(Movie movie) - додавање филм во колекцијата


public void printByGenre(String genre) - ги печати сите филмови од проследениот
жанр (се споредува стрингот без разлика на мали и големи букви), сортирани според
насловот на филмот (ако насловот е ист, се сортираат според рејтингот).
public List<Movie> getTopRatedN(int n) - враќа листа на најдобро рангираните N
филмови (ако има помалку од N филмови во колекцијата, ги враќа сите).
public Map<String, Integer> getCountByDirector(int n) - враќа мапа од имињата на
режисерите со бројот на филмови кои тие го режирале сортирани според имињата на
режисерите.

input:
6 3
Backbeat:Iain Softley:Music:6.7
An Acceptable Loss:Joe Chappelle:Drama:7.2
Thieves Quartet:Joe Chappelle:Thriller:4.0
Takedown:Joe Chappelle:Crime:6.3
Adult Life Skills:Rachel Tunnard:Comedy:6.2
Hackers:Iain Softley:Crime:4.3
K-PAX:Iain Softley:Thriller:7.4

output:
=== PRINT BY GENRE ===
GENRE: Comedy
Adult Life Skills (Rachel Tunnard, Comedy) 6.20
GENRE: Crime
Hackers (Iain Softley, Crime) 4.30
Takedown (Joe Chappelle, Crime) 6.30
GENRE: Drama
An Acceptable Loss (Joe Chappelle, Drama) 7.20
GENRE: Music
Backbeat (Iain Softley, Music) 6.70
GENRE: Thriller
K-PAX (Iain Softley, Thriller) 7.40
Thieves Quartet (Joe Chappelle, Thriller) 4.00
=== TOP N BY RATING ===
K-PAX (Iain Softley, Thriller) 7.40
An Acceptable Loss (Joe Chappelle, Drama) 7.20
Backbeat (Iain Softley, Music) 6.70
=== COUNT BY DIRECTOR ===
Iain Softley: 3
Joe Chappelle: 3
Rachel Tunnard: 1
=== PRINT BY GENRE ===
GENRE: Comedy
Adult Life Skills (Rachel Tunnard, Comedy) 6.20
GENRE: Crime
Hackers (Iain Softley, Crime) 4.30
Takedown (Joe Chappelle, Crime) 6.30
GENRE: Drama
An Acceptable Loss (Joe Chappelle, Drama) 7.20
GENRE: Music
Backbeat (Iain Softley, Music) 6.70
GENRE: Thriller
K-PAX (Iain Softley, Thriller) 7.40
Thieves Quartet (Joe Chappelle, Thriller) 4.00
=== TOP N BY RATING ===
K-PAX (Iain Softley, Thriller) 7.40
An Acceptable Loss (Joe Chappelle, Drama) 7.20
Backbeat (Iain Softley, Music) 6.70
=== COUNT BY DIRECTOR ===
100 20
Movie U:G:A:30.40
Movie O:A:C:11.18
Movie T:C:A:23.26
Movie R:A:A:5.13
Movie T:A:E:25.12
Movie E:E:E:39.29
Movie K:E:E:17.52
Movie E:E:B:10.62
Movie D:B:A:20.96
Movie B:A:E:45.33
Movie S:E:B:43.51
Movie R:B:A:18.39
Movie O:A:E:21.83
Movie S:E:A:17.23
Movie Y:A:D:5.00
Movie W:D:A:45.44
Movie Q:A:B:26.62
Movie M:B:B:22.63
Movie X:B:B:7.79
Movie O:B:B:12.18
Movie P:B:D:15.55
Movie U:D:D:31.86
Movie D:D:E:30.46
Movie I:E:B:17.83
Movie H:B:D:48.87
Movie D:D:A:6.00
Movie D:A:B:22.06
Movie T:B:B:4.42
Movie V:B:C:6.33
Movie Y:C:C:25.09
Movie H:C:B:17.23
Movie M:B:C:26.92
Movie Q:C:B:20.58
Movie T:B:B:24.48
Movie B:B:C:6.89
Movie Q:C:C:33.58
Movie C:C:E:20.70
Movie A:E:C:35.40
Movie G:C:D:11.66
Movie V:D:E:44.56
Movie L:E:A:29.81
Movie L:A:E:27.10
Movie W:E:B:22.22
Movie B:B:C:29.28
Movie Q:C:E:17.06
Movie T:E:C:31.41
Movie B:C:D:35.47
Movie I:D:A:13.42
Movie A:A:A:29.41
Movie X:A:A:38.61
Movie S:A:C:41.50
Movie D:C:B:3.31
Movie K:B:E:47.46
Movie C:E:E:38.98
Movie Q:E:B:46.65
Movie Q:B:C:46.54
Movie G:C:C:40.18
Movie G:C:E:9.69
Movie U:E:A:27.13
Movie T:A:D:11.81
Movie I:D:B:34.51
Movie O:B:E:2.52
Movie E:E:D:33.08
Movie U:D:E:31.17
Movie D:E:E:6.94
Movie Z:E:C:17.41
Movie D:C:C:10.20
Movie W:C:B:45.58
Movie Z:B:B:20.60
Movie T:B:B:3.04
Movie M:B:C:33.49
Movie G:C:D:7.74
Movie X:D:D:46.09
Movie F:D:A:32.31
Movie Q:A:C:12.86
Movie U:C:B:12.38
Movie C:B:A:47.42
Movie J:A:D:17.17
Movie F:D:B:19.63
Movie O:B:A:12.39
Movie F:A:A:31.51
Movie A:A:C:9.59
Movie U:C:E:36.68
Movie S:E:B:24.38
Movie A:B:B:0.79
Movie I:B:A:21.25
Movie T:A:D:4.46
Movie Y:D:A:41.70
Movie C:A:D:31.39
Movie O:D:B:10.19
Movie F:B:A:37.17
Movie V:A:E:4.20
Movie U:E:E:25.10
Movie S:E:B:30.16
Movie B:B:B:48.85
Movie S:B:B:19.74
Movie P:B:A:3.74
Movie I:A:E:11.36
Movie P:E:A:33.72
Movie V:A:D:30.24
=== PRINT BY GENRE ===
GENRE: A
Movie A (A, A) 29.41
Movie C (B, A) 47.42
Movie D (D, A) 6.00
Movie D (B, A) 20.96
Movie F (A, A) 31.51
Movie F (D, A) 32.31
Movie F (B, A) 37.17
Movie I (D, A) 13.42
Movie I (B, A) 21.25
Movie L (E, A) 29.81
Movie O (B, A) 12.39
Movie P (B, A) 3.74
Movie P (E, A) 33.72
Movie R (A, A) 5.13
Movie R (B, A) 18.39
Movie S (E, A) 17.23
Movie T (C, A) 23.26
Movie U (E, A) 27.13
Movie U (G, A) 30.40
Movie W (D, A) 45.44
Movie X (A, A) 38.61
Movie Y (D, A) 41.70
GENRE: B
Movie A (B, B) 0.79
Movie B (B, B) 48.85
Movie D (C, B) 3.31
Movie D (A, B) 22.06
Movie E (E, B) 10.62
Movie F (D, B) 19.63
Movie H (C, B) 17.23
Movie I (E, B) 17.83
Movie I (D, B) 34.51
Movie M (B, B) 22.63
Movie O (D, B) 10.19
Movie O (B, B) 12.18
Movie Q (C, B) 20.58
Movie Q (A, B) 26.62
Movie Q (E, B) 46.65
Movie S (B, B) 19.74
Movie S (E, B) 24.38
Movie S (E, B) 30.16
Movie S (E, B) 43.51
Movie T (B, B) 3.04
Movie T (B, B) 4.42
Movie T (B, B) 24.48
Movie U (C, B) 12.38
Movie W (E, B) 22.22
Movie W (C, B) 45.58
Movie X (B, B) 7.79
Movie Z (B, B) 20.60
GENRE: C
Movie A (A, C) 9.59
Movie A (E, C) 35.40
Movie B (B, C) 6.89
Movie B (B, C) 29.28
Movie D (C, C) 10.20
Movie G (C, C) 40.18
Movie M (B, C) 26.92
Movie M (B, C) 33.49
Movie O (A, C) 11.18
Movie Q (A, C) 12.86
Movie Q (C, C) 33.58
Movie Q (B, C) 46.54
Movie S (A, C) 41.50
Movie T (E, C) 31.41
Movie V (B, C) 6.33
Movie Y (C, C) 25.09
Movie Z (E, C) 17.41
GENRE: D
Movie B (C, D) 35.47
Movie C (A, D) 31.39
Movie E (E, D) 33.08
Movie G (C, D) 7.74
Movie G (C, D) 11.66
Movie H (B, D) 48.87
Movie J (A, D) 17.17
Movie P (B, D) 15.55
Movie T (A, D) 4.46
Movie T (A, D) 11.81
Movie U (D, D) 31.86
Movie V (A, D) 30.24
Movie X (D, D) 46.09
Movie Y (A, D) 5.00
GENRE: E
Movie B (A, E) 45.33
Movie C (C, E) 20.70
Movie C (E, E) 38.98
Movie D (E, E) 6.94
Movie D (D, E) 30.46
Movie E (E, E) 39.29
Movie G (C, E) 9.69
Movie I (A, E) 11.36
Movie K (E, E) 17.52
Movie K (B, E) 47.46
Movie L (A, E) 27.10
Movie O (B, E) 2.52
Movie O (A, E) 21.83
Movie Q (C, E) 17.06
Movie T (A, E) 25.12
Movie U (E, E) 25.10
Movie U (D, E) 31.17
Movie U (C, E) 36.68
Movie V (A, E) 4.20
Movie V (D, E) 44.56
=== TOP N BY RATING ===
Movie H (B, D) 48.87
Movie B (B, B) 48.85
Movie K (B, E) 47.46
Movie C (B, A) 47.42
Movie Q (E, B) 46.65
Movie Q (B, C) 46.54
Movie X (D, D) 46.09
Movie W (C, B) 45.58
Movie W (D, A) 45.44
Movie B (A, E) 45.33
Movie V (D, E) 44.56
Movie S (E, B) 43.51
Movie Y (D, A) 41.70
Movie S (A, C) 41.50
Movie G (C, C) 40.18
Movie E (E, E) 39.29
Movie C (E, E) 38.98
Movie X (A, A) 38.61
Movie F (B, A) 37.17
Movie U (C, E) 36.68
=== COUNT BY DIRECTOR ===
A: 22
B: 27
C: 17
D: 13
E: 20
G: 1
=== PRINT BY GENRE ===
GENRE: A
Movie A (A, A) 29.41
Movie C (B, A) 47.42
Movie D (D, A) 6.00
Movie D (B, A) 20.96
Movie F (A, A) 31.51
Movie F (D, A) 32.31
Movie F (B, A) 37.17
Movie I (D, A) 13.42
Movie I (B, A) 21.25
Movie L (E, A) 29.81
Movie O (B, A) 12.39
Movie P (B, A) 3.74
Movie P (E, A) 33.72
Movie R (A, A) 5.13
Movie R (B, A) 18.39
Movie S (E, A) 17.23
Movie T (C, A) 23.26
Movie U (E, A) 27.13
Movie U (G, A) 30.40
Movie W (D, A) 45.44
Movie X (A, A) 38.61
Movie Y (D, A) 41.70
GENRE: B
Movie A (B, B) 0.79
Movie B (B, B) 48.85
Movie D (C, B) 3.31
Movie D (A, B) 22.06
Movie E (E, B) 10.62
Movie F (D, B) 19.63
Movie H (C, B) 17.23
Movie I (E, B) 17.83
Movie I (D, B) 34.51
Movie M (B, B) 22.63
Movie O (D, B) 10.19
Movie O (B, B) 12.18
Movie Q (C, B) 20.58
Movie Q (A, B) 26.62
Movie Q (E, B) 46.65
Movie S (B, B) 19.74
Movie S (E, B) 24.38
Movie S (E, B) 30.16
Movie S (E, B) 43.51
Movie T (B, B) 3.04
Movie T (B, B) 4.42
Movie T (B, B) 24.48
Movie U (C, B) 12.38
Movie W (E, B) 22.22
Movie W (C, B) 45.58
Movie X (B, B) 7.79
Movie Z (B, B) 20.60
GENRE: C
Movie A (A, C) 9.59
Movie A (E, C) 35.40
Movie B (B, C) 6.89
Movie B (B, C) 29.28
Movie D (C, C) 10.20
Movie G (C, C) 40.18
Movie M (B, C) 26.92
Movie M (B, C) 33.49
Movie O (A, C) 11.18
Movie Q (A, C) 12.86
Movie Q (C, C) 33.58
Movie Q (B, C) 46.54
Movie S (A, C) 41.50
Movie T (E, C) 31.41
Movie V (B, C) 6.33
Movie Y (C, C) 25.09
Movie Z (E, C) 17.41
GENRE: D
Movie B (C, D) 35.47
Movie C (A, D) 31.39
Movie E (E, D) 33.08
Movie G (C, D) 7.74
Movie G (C, D) 11.66
Movie H (B, D) 48.87
Movie J (A, D) 17.17
Movie P (B, D) 15.55
Movie T (A, D) 4.46
Movie T (A, D) 11.81
Movie U (D, D) 31.86
Movie V (A, D) 30.24
Movie X (D, D) 46.09
Movie Y (A, D) 5.00
GENRE: E
Movie B (A, E) 45.33
Movie C (C, E) 20.70
Movie C (E, E) 38.98
Movie D (E, E) 6.94
Movie D (D, E) 30.46
Movie E (E, E) 39.29
Movie G (C, E) 9.69
Movie I (A, E) 11.36
Movie K (E, E) 17.52
Movie K (B, E) 47.46
Movie L (A, E) 27.10
Movie O (B, E) 2.52
Movie O (A, E) 21.83
Movie Q (C, E) 17.06
Movie T (A, E) 25.12
Movie U (E, E) 25.10
Movie U (D, E) 31.17
Movie U (C, E) 36.68
Movie V (A, E) 4.20
Movie V (D, E) 44.56
=== TOP N BY RATING ===
Movie H (B, D) 48.87
Movie B (B, B) 48.85
Movie K (B, E) 47.46
Movie C (B, A) 47.42
Movie Q (E, B) 46.65
Movie Q (B, C) 46.54
Movie X (D, D) 46.09
Movie W (C, B) 45.58
Movie W (D, A) 45.44
Movie B (A, E) 45.33
Movie V (D, E) 44.56
Movie S (E, B) 43.51
Movie Y (D, A) 41.70
Movie S (A, C) 41.50
Movie G (C, C) 40.18
Movie E (E, E) 39.29
Movie C (E, E) 38.98
Movie X (A, A) 38.61
Movie F (B, A) 37.17
Movie U (C, E) 36.68
=== COUNT BY DIRECTOR ===

еве го моето решение и подоле решение на колега што претпоствувам дека е точно

package mk.ukim.finki.np.juni.Movies;

import java.lang.reflect.Array;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

class Movie {
String title;
String director;
String genre;
float rating;

public Movie(String title, String director, String genre, float rating) {


this.title = title;
this.director = director;
this.genre = genre;
this.rating = rating;
}

public String getTitle() {


return title;
}

public void setTitle(String title) {


this.title = title;
}

public String getDirector() {


return director;
}

public void setDirector(String director) {


this.director = director;
}

public String getGenre() {


return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}

public float getRating() {


return rating;
}

public void setRating(float rating) {


this.rating = rating;
}

@Override
public String toString() {
return String.format("%s (%s, %s) %.2f",
this.title,
this.director,
this.genre,
this.rating);
}
}

class MoviesCollection {
List<Movie> movieList;
final Comparator<Movie> titleRatingComparator =
Comparator.comparing(Movie::getTitle)
.thenComparing(Movie::getRating);
final Comparator<Movie> ratingComparator =
Comparator.comparing(Movie::getRating);
final Comparator<Movie> directorNameComparator =
Comparator.comparing(Movie::getDirector);

public MoviesCollection() {
movieList = new ArrayList<>();
}

public void addMovie(Movie movie) {


movieList.add(movie);
}

public void printByGenre(String genre) {


movieList.stream()
.filter(i -> i.getGenre().equals(genre))
.sorted(titleRatingComparator)
.forEach(i -> System.out.println(i));
}

public List<Movie> getTopRatedN(int printN) {


return movieList.stream()
.sorted(ratingComparator.reversed())
.limit(printN)
.collect(Collectors.toList());
}

private int countMovies(String directorName) {


return (int)movieList.stream()
.filter(i -> i.getDirector().equals(directorName))
.mapToInt(k -> Integer.parseInt(String.valueOf(k.getRating())))
.count();
}

public Map<String, Integer> getCountByDirector(int n) {


Map<String, Long> temp = movieList.stream()
.sorted(directorNameComparator)
.collect(Collectors.groupingBy(
i -> i.getDirector(),
Collectors.counting()
));

// Map<String, Integer> finalTemp = movieList.stream()


// .sorted(directorNameComparator)
// .collect(Collectors.groupingBy(
// i-> i.getDirector(),
// Collectors.summingInt()
// ));

Map<String, Integer> finalMap = new TreeMap<>();

// Set<String> local1 = temp.keySet();


// Collection<Long> local2 = temp.values();

//дава ерор на мудл кога претворам од сет во стринг


List<String> directorNames = temp.keySet().stream().toList();
List<Long> directorNumbers = temp.values().stream().toList();
List<Integer> directorNumbersFinal = new ArrayList<>();

for(int i=0; i<directorNumbers.size(); i++) {

directorNumbersFinal.add(Integer.parseInt(String.valueOf(directorNumbers.get(i))));
}

for(int i=0; i<directorNumbersFinal.size(); i++) {


finalMap.put(directorNames.get(i),directorNumbersFinal.get(i));
}

return finalMap;

}
/*
public Map<String, Integer> getCountByDirector(int n){
Map<String,Integer> nova = new TreeMap<>();
List<String> list = new ArrayList<>(directedBy.keySet());
list.stream().limit(n).forEach(i->{
nova.put(i,directedBy.get(i).getCount());
});
// for(int i=0;i<n;++i){
// nova.put(list.get(i),directedBy.get(list.get(i)).getCount());
// }
return nova;
}*/
}

public class MoviesTest {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int printN = scanner.nextInt();
scanner.nextLine();
MoviesCollection moviesCollection = new MoviesCollection();
Set<String> genres = fillCollection(scanner, moviesCollection);
System.out.println("=== PRINT BY GENRE ===");
for (String genre : genres) {
System.out.println("GENRE: " + genre);
moviesCollection.printByGenre(genre);
}
System.out.println("=== TOP N BY RATING ===");
printList(moviesCollection.getTopRatedN(printN));

System.out.println("=== COUNT BY DIRECTOR ===");


printMap(moviesCollection.getCountByDirector(n));

static void printMap(Map<String,Integer> countByDirector) {


countByDirector.entrySet().stream()
.forEach(e -> System.out.println(e.getKey() + ": " +
e.getValue()));
}

static void printList(List<Movie> movies) {


for (Movie movie : movies) {
System.out.println(movie);
}
}

static TreeSet<String> fillCollection(Scanner scanner,


MoviesCollection collection) {
TreeSet<String> categories = new TreeSet<String>();
while (scanner.hasNext()) {
String line = scanner.nextLine();
String[] parts = line.split(":");
Movie movie = new Movie(parts[0], parts[1], parts[2],
Float.parseFloat(parts[3]));
collection.addMovie(movie);
categories.add(parts[2]);
}
return categories;
}
}
=====================
Решение на колега:
==================
class Movie{
String title;
String director;
String genre;
float rating;
int count=0;
public Movie(String title, String director, String genre, float rating) {
this.title = title;
this.director = director;
this.genre = genre;
this.rating = rating;
}

@Override
public String toString() {
return String.format("%s (%s, %s) %.2f",title,director,genre,rating);
}

public String getTitle() {


return title;
}

public void setCount() {


this.count++;
}

public int getCount() {


return count;
}

public float getRating() {


return rating;
}
}

class MoviesCollection{
List<Movie> movies;
Map<String, Movie> directedBy;
public MoviesCollection() {
movies = new ArrayList<>();
directedBy = new TreeMap<>();
}
public void addMovie(Movie movie){
movies.add(movie);
directedBy.putIfAbsent(movie.director,movie);
directedBy.get(movie.director).setCount();
}

public void printByGenre(String genre){


List<Movie> byGenre= movies.stream()
.filter(i ->
i.genre.equalsIgnoreCase(genre)).collect(Collectors.toList());

byGenre.sort(Comparator.comparing(Movie::getTitle).thenComparing(Movie::getRating))
;
byGenre.forEach(i->{
System.out.println(i.toString());
});
}

public List<Movie> getTopRatedN(int n){


if(movies.size()<n){
return movies;
}
movies.sort(Comparator.comparing(Movie::getRating,Comparator.reverseOrder())
.thenComparing(Movie::getTitle,Comparator.reverseOrder()));
return movies.stream().limit(n).collect(Collectors.toList());
}

public Map<String, Integer> getCountByDirector(int n){


Map<String,Integer> nova = new TreeMap<>();
List<String> list = new ArrayList<>(directedBy.keySet());
list.stream().limit(n).forEach(i->{
nova.put(i,directedBy.get(i).getCount());
});
// for(int i=0;i<n;++i){
// nova.put(list.get(i),directedBy.get(list.get(i)).getCount());
// }
return nova;
}
}

public class MoviesTest {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int printN = scanner.nextInt();
scanner.nextLine();
MoviesCollection moviesCollection = new MoviesCollection();
Set<String> genres = fillCollection(scanner, moviesCollection);
System.out.println("=== PRINT BY GENRE ===");
for (String genre : genres) {
System.out.println("GENRE: " + genre);
moviesCollection.printByGenre(genre);
}
System.out.println("=== TOP N BY RATING ===");
printList(moviesCollection.getTopRatedN(printN));

System.out.println("=== COUNT BY DIRECTOR ===");


printMap(moviesCollection.getCountByDirector(n));

static void printMap(Map<String,Integer> countByDirector) {


countByDirector.entrySet().stream()
.forEach(e -> System.out.println(e.getKey() + ": " +
e.getValue()));
}

static void printList(List<Movie> movies) {


for (Movie movie : movies) {
System.out.println(movie);
}
}

static TreeSet<String> fillCollection(Scanner scanner,


MoviesCollection collection) {
TreeSet<String> categories = new TreeSet<String>();
while (scanner.hasNext()) {
String line = scanner.nextLine();
String[] parts = line.split(":");
Movie movie = new Movie(parts[0], parts[1], parts[2],
Float.parseFloat(parts[3]));
collection.addMovie(movie);
categories.add(parts[2]);
}
return categories;
}
}

===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================
Трета задача:

Да се имплементира класа CellularNetwork во кој се чуваат информации за една


мобилна мрежа. Да се имплементираат следните методи:

public CellularNetwork(String name, String[] cellIds, int[] capacities) -


конструктор со аргументи името на мрежата, низа од идентификатори на базните
станици во мрежата и капацитет на повици за секоја од базните станици соодветно
public void makeCall(String cellId, String number) throws CellFullException - метод
за креирање повик од даден број number во базна станица со дадено cellId. Притоа
ако е исполнет капацитетот за дадената базна станица да се фрли исклучок од тип
CellFullException со порака: CellFullException: {cell_id}. Креирањето нов повик
треба да биде со комлексност O(logN) за N вкупно базни станици.
public void handover(String number, String fromCellId, String toCellId) throws
CellFullException - метод за префрлање повик од даден број number од една базна
станица fromCellId во друга toCellid. Во овој повик исто така може да се случи и
фрли исклучок CellFulException ако е исполнет капацитетот на базната станица во
која треба да се префрли повикот. Комплексноста на овој метод треба да биде O(logN)
за N вкупно базни станици.
public void load() - за печатење за информациите за секоја базна станица, подредени
лексикографски во однос на идентификаторот на базната станица. За секоја базна
станица се печти (пример):
ID: {id}
***** 55.34%
за секој 10% исполнетост на капацитетот се печати еден знак *
public void findNumber(String number) - метод за лоцирање на базната станица во
која е остварен повик од даден број number. Ако се случило префрлање на повикот во
друга базна станица, се печатат сите базни станици во кој бил повикот пр. cell-0 ->
cell-1 -> cell-2 ако повикот е креиран во базна станица cell-0, а потоа е префрлен
во cell-1, па потоа во cell-2. Ако бројот не може да се пронајде, се печати порака
Number '{number}' not found.

Telefonica
cell-0:41 cell-1:39 cell-2:93 cell-3:91 cell-4:62 cell-5:26 cell-6:15 cell-7:49
cell-8:99 cell-9:30 cell-10:60 cell-11:57 cell-12:96
330
cell-9 077155515
cell-6 070744086
cell-1 070609890
cell-11 076057080
cell-12 077497349
cell-0 071320920
cell-5 075227471
cell-9 078393089
cell-6 077967341
cell-0 077937849
cell-5 071420410
cell-10 071105206
cell-6 075405765
cell-1 070432921
cell-2 075361572
cell-5 075957288
cell-4 071350470
cell-10 070101894
cell-6 076756301
cell-11 070166441
cell-0 076784732
cell-4 078252256
cell-12 078050893
cell-2 075265495
cell-6 077599636
cell-2 077088456
cell-11 075132077
cell-9 071787188
cell-6 078349455
cell-9 076308844
cell-4 075788786
cell-6 077511714
cell-1 071206729
cell-1 077225406
cell-0 078995064
cell-8 076518717
cell-11 075475784
cell-11 078112403
cell-7 076885126
cell-8 077835995
cell-3 077863009
cell-12 078440649
cell-5 070311600
cell-11 071602445
cell-0 075897919
cell-11 078779310
cell-2 070085002
cell-0 077841966
cell-3 076981213
cell-0 078222571
cell-8 070892766
cell-5 070631652
cell-1 076234814
cell-1 075789230
cell-7 070608330
cell-6 075358940
cell-2 077834717
cell-1 071058947
cell-9 075892863
cell-9 077459874
cell-4 077823816
cell-12 071882640
cell-9 071587652
cell-6 070123300
cell-12 070405057
cell-11 076707709
cell-11 075703343
cell-11 071901151
cell-1 071715302
cell-3 070669243
cell-3 071804647
cell-12 071003966
cell-2 076700085
cell-1 070058434
cell-0 076125303
cell-0 078306973
cell-10 070582459
cell-6 077659477
cell-8 071089086
cell-9 077194356
cell-10 075301384
cell-0 071135213
cell-11 077139026
cell-3 077077456
cell-6 075948033
cell-7 076155912
cell-1 075432243
cell-4 077667155
cell-10 076977582
cell-6 070807120
cell-7 071251065
cell-12 077565705
cell-3 075229803
cell-11 070197268
cell-7 071491512
cell-5 075054032
cell-3 078270554
cell-11 078318865
cell-9 077744153
cell-4 070747703
cell-3 075694804
cell-9 075628531
cell-7 076070930
cell-0 071289586
cell-12 077617091
cell-9 070808663
cell-5 076551671
cell-5 070849521
cell-3 071745033
cell-9 076628770
cell-7 070449804
cell-4 070134300
cell-4 078403144
cell-1 075398340
cell-11 077389994
cell-0 077173029
cell-1 071103496
cell-4 077757368
cell-2 071803357
cell-12 071690066
cell-8 076020624
cell-12 071074644
cell-9 078888494
cell-0 078160840
cell-4 071815847
cell-4 078744181
cell-6 075792835
cell-9 070759142
cell-3 071569811
cell-0 070405154
cell-5 075407763
cell-3 078180219
cell-8 077785601
cell-11 075266823
cell-12 076110915
cell-7 078482517
cell-2 077486472
cell-5 078910455
cell-12 078534640
cell-12 078017267
cell-8 076885275
cell-3 075486180
cell-7 076296393
cell-1 070686864
cell-3 078698077
cell-3 077837389
cell-11 078473523
cell-8 078139851
cell-4 070947963
cell-10 070195799
cell-0 071253651
cell-7 077094909
cell-2 071724602
cell-4 070007528
cell-3 070828915
cell-6 077263014
cell-10 077276449
cell-11 076403671
cell-8 071005558
cell-6 076781768
cell-3 078248736
cell-3 078881943
cell-9 078992082
cell-8 077146081
cell-7 070796697
cell-4 071922530
cell-7 071639310
cell-3 076415059
cell-10 076532259
cell-7 070316676
cell-8 070458009
cell-9 070004311
cell-10 071483014
cell-0 075752481
cell-2 071388271
cell-1 076241700
cell-8 077305991
cell-5 070575116
cell-1 071913324
cell-4 077114475
cell-5 077643997
cell-2 076206471
cell-8 075981654
cell-8 078597302
cell-1 076848901
cell-2 075992107
cell-1 070150773
cell-4 076748611
cell-0 070818687
cell-8 078289636
cell-4 070350947
cell-5 075343488
cell-7 078027919
cell-6 070040376
cell-3 071976213
cell-11 070849566
cell-9 075392512
cell-6 071281219
cell-8 075716273
cell-5 070323353
cell-8 071024444
cell-7 077755786
cell-11 075710684
cell-3 075163085
cell-7 077428338
cell-3 070424763
cell-5 070694886
cell-3 077193061
cell-0 077500132
cell-9 075202837
cell-12 071284142
cell-10 076234076
cell-6 075873978
cell-3 070146385
cell-4 070036091
cell-0 078283135
cell-8 070885727
cell-0 070898394
cell-8 077448814
cell-0 070374409
cell-12 070152703
cell-6 070168340
cell-3 071362213
cell-10 071105419
cell-6 077362619
cell-1 077878760
cell-5 071114646
cell-10 075561325
cell-12 075467046
cell-8 078615866
cell-12 076047326
cell-5 078153795
cell-0 070183074
cell-5 078733420
cell-5 077597983
cell-9 075071132
cell-0 077584310
cell-6 071640772
cell-11 075889025
cell-1 078575495
cell-4 075990971
cell-3 070837311
cell-5 075690895
cell-11 070385578
cell-10 070144571
cell-12 071518753
cell-3 078440202
cell-0 070019101
cell-7 077365910
cell-6 078894198
cell-11 077594916
cell-1 078275090
cell-5 076254701
cell-6 077954062
cell-4 075027042
cell-12 075645658
cell-4 071775154
cell-9 071164722
cell-1 077500385
cell-10 078243710
cell-11 076639513
cell-9 070141797
cell-7 075685644
cell-9 071388976
cell-11 070458071
cell-11 070969271
cell-9 076055723
cell-10 071863138
cell-1 076860630
cell-2 071422609
cell-12 076237828
cell-2 070345532
cell-5 075637310
cell-10 076210785
cell-2 076734410
cell-0 078452918
cell-10 077120357
cell-12 071464421
cell-11 078391251
cell-7 070565965
cell-5 070328685
cell-11 078422606
cell-0 071078986
cell-6 076658075
cell-10 070653035
cell-4 077117554
cell-11 078138676
cell-9 071308316
cell-11 071354288
cell-3 078422797
cell-1 076416262
cell-8 078996760
cell-10 076215870
cell-4 078286907
cell-4 075409879
cell-10 070978111
cell-5 075919824
cell-11 071098132
cell-12 071586869
cell-10 070313696
cell-0 075679501
cell-3 071185119
cell-4 075656867
cell-3 077772570
cell-7 077695010
cell-8 070797365
cell-4 070983023
cell-5 076358621
cell-1 076899300
cell-12 076523362
cell-8 070829120
cell-12 076284725
cell-3 076063172
cell-5 070717538
cell-3 071190981
cell-5 070693868
cell-12 071630052
cell-3 076718376
cell-7 077387602
cell-7 071162466
cell-4 070409325
cell-6 078103726
cell-12 071333194
cell-1 078612077
cell-6 077873663
cell-2 078575011
cell-1 076689806
cell-4 077093233
cell-0 071078155
cell-2 070136103
62
071640772 cell-6 cell-7
075685644 cell-7 cell-8
076899300 cell-1 cell-2
071639310 cell-7 cell-8
077193061 cell-3 cell-4
071320920 cell-0 cell-1
076707709 cell-11 cell-12
070007528 cell-4 cell-5
076981213 cell-3 cell-4
075358940 cell-6 cell-7
078888494 cell-9 cell-10
075628531 cell-9 cell-10
076308844 cell-9 cell-10
077954062 cell-6 cell-7
075628531 cell-10 cell-11
075637310 cell-5 cell-6
070818687 cell-0 cell-1
078575495 cell-1 cell-2
071354288 cell-11 cell-12
075990971 cell-4 cell-5
071190981 cell-3 cell-4
070004311 cell-9 cell-10
070316676 cell-7 cell-8
078779310 cell-11 cell-12
076784732 cell-0 cell-1
075266823 cell-11 cell-12
070797365 cell-8 cell-9
070759142 cell-9 cell-10
070058434 cell-1 cell-2
070892766 cell-8 cell-9
077146081 cell-8 cell-9
070796697 cell-7 cell-8
077659477 cell-6 cell-7
077835995 cell-8 cell-9
076210785 cell-10 cell-11
078615866 cell-8 cell-9
075266823 cell-12 cell-0
070759142 cell-10 cell-11
070892766 cell-9 cell-10
071098132 cell-11 cell-12
070686864 cell-1 cell-2
070146385 cell-3 cell-4
078243710 cell-10 cell-11
077093233 cell-4 cell-5
078222571 cell-0 cell-1
071388271 cell-2 cell-3
076718376 cell-3 cell-4
075229803 cell-3 cell-4
070582459 cell-10 cell-11
075054032 cell-5 cell-6
076628770 cell-9 cell-10
075710684 cell-11 cell-12
076047326 cell-12 cell-0
070166441 cell-11 cell-12
078286907 cell-4 cell-5
078160840 cell-0 cell-1
070717538 cell-5 cell-6
071602445 cell-11 cell-12
070019101 cell-0 cell-1
077834717 cell-2 cell-3
075637310 cell-6 cell-7
077155515 cell-9 cell-10
18
071690066
077263014
070978111
070759142
070686864
078306973
076237828
076781768
078248736
076977582
076403671
075637310
078612077
076063172
071005558
075992107
070101894
075710684
----- Making calls -----
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-5
CellFullException: cell-6
CellFullException: cell-6
----- Making handovers -----
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-6
===== Find numbers =====
071690066 : cell-12
077263014 : cell-6
070978111 : cell-10
070759142 : cell-9 -> cell-10 -> cell-11
070686864 : cell-1 -> cell-2
078306973 : cell-0
076237828 : cell-12
076781768 : cell-6
078248736 : cell-3
076977582 : cell-10
076403671 : cell-11
075637310 : cell-5 -> cell-6 -> cell-7
078612077 : cell-1
076063172 : cell-3
071005558 : cell-8
075992107 : cell-2
070101894 : cell-10
075710684 : cell-11 -> cell-12
===== Load =====
ID: cell-0
***** 58.54%
ID: cell-1
******* 71.79%
ID: cell-10
**** 40.00%
ID: cell-11
**** 47.37%
ID: cell-12
*** 33.33%
ID: cell-2
** 20.43%
ID: cell-3
*** 30.77%
ID: cell-4
**** 48.39%
ID: cell-5
********* 96.15%
ID: cell-6
********* 93.33%
ID: cell-7
**** 46.94%
ID: cell-8
** 22.22%
ID: cell-9
******* 70.00%
----- Making calls -----
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-5}
CellFullException: {cell-6}
CellFullException: {cell-6}

----- Making handovers -----


===== Find numbers =====
===== Load =====
T-Mobile
cell-0:79 cell-1:73 cell-2:78 cell-3:94 cell-4:71 cell-5:74
156
cell-5 078306755
cell-3 071815087
cell-4 077522557
cell-1 076209466
cell-2 078827963
cell-1 075616377
cell-2 076299415
cell-1 071982009
cell-1 076246029
cell-5 077613332
cell-5 070494009
cell-3 070012749
cell-0 077655233
cell-5 070237885
cell-0 078139387
cell-0 076528882
cell-3 071664730
cell-5 071120723
cell-3 077041851
cell-0 077428879
cell-1 076153472
cell-0 075946691
cell-4 071273514
cell-1 077799309
cell-5 076497074
cell-4 071905361
cell-0 078246688
cell-0 070869660
cell-5 077667911
cell-2 076554240
cell-2 076219373
cell-4 071351038
cell-1 075473376
cell-4 077387472
cell-1 075840505
cell-1 076783681
cell-2 077286974
cell-2 071528735
cell-0 071896111
cell-4 071336173
cell-0 077164734
cell-3 078177249
cell-0 071826783
cell-4 076553091
cell-0 078522461
cell-4 077503026
cell-1 078756802
cell-2 077320564
cell-5 071592599
cell-1 077171412
cell-5 077762057
cell-4 075820591
cell-1 077326409
cell-3 075430889
cell-4 077770054
cell-1 078627655
cell-0 078262122
cell-5 077048954
cell-2 071181463
cell-2 078322718
cell-2 076036982
cell-4 077567856
cell-0 070344145
cell-4 075607406
cell-3 071090645
cell-0 078831321
cell-1 077267431
cell-2 077383260
cell-1 070829484
cell-4 078573925
cell-5 077862689
cell-0 071636177
cell-0 071579070
cell-3 071445580
cell-3 071572381
cell-0 071026929
cell-1 077406670
cell-0 071722580
cell-4 076532433
cell-4 070527469
cell-0 070439494
cell-1 071489043
cell-2 078423962
cell-2 076733951
cell-4 078406806
cell-0 075937248
cell-1 078305428
cell-5 070313085
cell-0 077547587
cell-2 070322446
cell-4 077882929
cell-0 075667168
cell-2 076066452
cell-2 078166117
cell-4 078931834
cell-3 076925715
cell-1 071675880
cell-2 075979247
cell-3 071648836
cell-1 078083369
cell-3 075727792
cell-1 075501460
cell-3 076960550
cell-1 078235632
cell-1 078901951
cell-2 070853801
cell-0 076635737
cell-0 077603506
cell-0 070095330
cell-1 075643429
cell-3 078607946
cell-2 070700046
cell-3 077030254
cell-0 075365196
cell-1 078713242
cell-3 070903984
cell-3 078632431
cell-5 071296784
cell-1 076113666
cell-5 078041912
cell-1 075020816
cell-2 070436013
cell-0 076701991
cell-3 071131288
cell-1 078364571
cell-2 077175888
cell-0 077614050
cell-4 076688610
cell-2 078068893
cell-2 077985841
cell-3 071680666
cell-2 070300330
cell-1 076590904
cell-3 075374806
cell-1 076624834
cell-4 078395183
cell-1 071041149
cell-0 070037337
cell-4 076321433
cell-3 071010396
cell-4 071395460
cell-3 075548208
cell-4 078802478
cell-0 070322163
cell-3 077407741
cell-3 075117357
cell-5 071582925
cell-2 075408911
cell-1 070947598
cell-4 071049947
cell-4 075788708
cell-0 071163153
cell-1 077633694
cell-3 075112387
cell-2 076050722
cell-5 076793259
61
071664730 cell-3 cell-4
071680666 cell-3 cell-4
078246688 cell-0 cell-1
077407741 cell-3 cell-4
076246029 cell-1 cell-2
078522461 cell-0 cell-1
070947598 cell-1 cell-2
070037337 cell-0 cell-1
071592599 cell-5 cell-0
071163153 cell-0 cell-1
070494009 cell-5 cell-0
077614050 cell-0 cell-1
070436013 cell-2 cell-3
071905361 cell-4 cell-5
075112387 cell-3 cell-4
070237885 cell-5 cell-0
071905361 cell-5 cell-0
071163153 cell-1 cell-2
075946691 cell-0 cell-1
078802478 cell-4 cell-5
071579070 cell-0 cell-1
077613332 cell-5 cell-0
070700046 cell-2 cell-3
077633694 cell-1 cell-2
075667168 cell-0 cell-1
070037337 cell-1 cell-2
076528882 cell-0 cell-1
076299415 cell-2 cell-3
078068893 cell-2 cell-3
078322718 cell-2 cell-3
077603506 cell-0 cell-1
076209466 cell-1 cell-2
076246029 cell-2 cell-3
075548208 cell-3 cell-4
077406670 cell-1 cell-2
076688610 cell-4 cell-5
075616377 cell-1 cell-2
075365196 cell-0 cell-1
078306755 cell-5 cell-0
076036982 cell-2 cell-3
075727792 cell-3 cell-4
077655233 cell-0 cell-1
071049947 cell-4 cell-5
071636177 cell-0 cell-1
070527469 cell-4 cell-5
077614050 cell-1 cell-2
078827963 cell-2 cell-3
077320564 cell-2 cell-3
075548208 cell-4 cell-5
076036982 cell-3 cell-4
077406670 cell-2 cell-3
075727792 cell-4 cell-5
070037337 cell-2 cell-3
077030254 cell-3 cell-4
077326409 cell-1 cell-2
077171412 cell-1 cell-2
076497074 cell-5 cell-0
077428879 cell-0 cell-1
076688610 cell-5 cell-0
078423962 cell-2 cell-3
078522461 cell-1 cell-2
24
071026929
078406806
070095330
071041149
071120723
070322446
075112387
078627655
075667168
077164734
078068893
071090645
077267431
076960550
070439494
076793259
076321433
070494009
070344145
071528735
076553091
075365196
077614050
077762057
----- Making calls -----
----- Making handovers -----
===== Find numbers =====
071026929 : cell-0
078406806 : cell-4
070095330 : cell-0
071041149 : cell-1
071120723 : cell-5
070322446 : cell-2
075112387 : cell-3 -> cell-4
078627655 : cell-1
075667168 : cell-0 -> cell-1
077164734 : cell-0
078068893 : cell-2 -> cell-3
071090645 : cell-3
077267431 : cell-1
076960550 : cell-3
070439494 : cell-0
076793259 : cell-5
076321433 : cell-4
070494009 : cell-5 -> cell-0
070344145 : cell-0
071528735 : cell-2
076553091 : cell-4
075365196 : cell-0 -> cell-1
077614050 : cell-0 -> cell-1 -> cell-2
077762057 : cell-5
===== Load =====
ID: cell-0
*** 31.65%
ID: cell-1
**** 47.95%
ID: cell-2
*** 33.33%
ID: cell-3
*** 30.85%
ID: cell-4
*** 36.62%
ID: cell-5
** 20.27%
----- Making calls -----

----- Making handovers -----


CellFullException: {cell-1}
===== Find numbers =====
===== Load =====
VIP
cell-0:56 cell-1:58 cell-2:83 cell-3:41 cell-4:28 cell-5:24 cell-6:93 cell-7:96
cell-8:18 cell-9:95
311
cell-4 070830284
cell-5 070179628
cell-0 075155709
cell-0 078112872
cell-6 076148953
cell-4 070847274
cell-4 075220391
cell-2 071352753
cell-2 075155971
cell-7 076716648
cell-2 070044296
cell-2 077486543
cell-7 078447792
cell-7 075215160
cell-4 078719648
cell-0 077053133
cell-0 077747500
cell-2 070354042
cell-3 078640709
cell-9 071491605
cell-5 071638633
cell-9 078108954
cell-0 077157209
cell-2 070439020
cell-7 077862238
cell-3 075238898
cell-2 070010527
cell-1 077684028
cell-2 070549701
cell-5 075618914
cell-9 078904594
cell-8 075029198
cell-5 077870742
cell-7 070532737
cell-6 077230321
cell-4 070332799
cell-9 078957784
cell-3 077104917
cell-6 070896512
cell-4 075145557
cell-0 078446059
cell-0 076127042
cell-2 078331070
cell-9 075074369
cell-3 078849997
cell-2 070184934
cell-9 070569571
cell-0 070368253
cell-6 071200950
cell-1 077908346
cell-7 076858018
cell-9 076571287
cell-8 075068861
cell-4 075222942
cell-4 076085578
cell-0 078829467
cell-7 078182782
cell-7 075328130
cell-2 078063045
cell-9 077899861
cell-8 071367806
cell-4 070169097
cell-9 071572166
cell-6 076125763
cell-4 077674173
cell-2 077347952
cell-3 075755584
cell-1 070593062
cell-4 076060445
cell-8 078602432
cell-2 070581387
cell-3 070892628
cell-2 077195286
cell-5 071128985
cell-0 078194913
cell-2 076315102
cell-6 077625057
cell-3 076394254
cell-5 077633835
cell-1 071731968
cell-7 075325595
cell-9 078566566
cell-3 070778580
cell-0 070968480
cell-6 078244280
cell-7 075527869
cell-5 078396643
cell-5 070078560
cell-9 078906736
cell-3 078733196
cell-0 077630555
cell-8 076226911
cell-1 078542674
cell-1 075859527
cell-3 078224081
cell-3 078053186
cell-1 077778077
cell-7 070928600
cell-4 070161671
cell-9 078947261
cell-0 075604890
cell-3 078806960
cell-1 077804485
cell-6 076003701
cell-1 078097242
cell-5 071072177
cell-1 070049908
cell-1 078488307
cell-0 078835420
cell-4 078759643
cell-0 076686007
cell-9 070359157
cell-2 070734913
cell-3 077579271
cell-3 078400726
cell-4 070873837
cell-0 071100308
cell-7 077727868
cell-0 076050041
cell-5 070502338
cell-7 071933263
cell-6 071210824
cell-8 071896161
cell-6 071273978
cell-7 070144594
cell-3 077891898
cell-7 078472571
cell-5 070529369
cell-6 077146392
cell-8 075889886
cell-0 078932962
cell-2 076043725
cell-8 075308755
cell-5 075866292
cell-0 075935052
cell-8 071387437
cell-4 076601823
cell-5 070251689
cell-6 075452693
cell-8 075501415
cell-6 076399072
cell-0 076364933
cell-9 077460783
cell-1 078126402
cell-4 075279366
cell-5 078369630
cell-3 075161889
cell-8 078782209
cell-6 076357462
cell-2 078816954
cell-1 076015755
cell-4 070470433
cell-6 071117364
cell-7 070292037
cell-6 070128891
cell-7 076218614
cell-6 071196496
cell-0 076981416
cell-1 076697576
cell-8 076348553
cell-9 078878608
cell-5 075222876
cell-7 078794064
cell-2 078740717
cell-9 076988567
cell-4 077540837
cell-5 078430649
cell-0 075185073
cell-2 077556936
cell-2 070483820
cell-8 078560138
cell-0 077067068
cell-4 076217844
cell-8 076790209
cell-0 077843317
cell-9 077029125
cell-1 070921455
cell-3 078519948
cell-7 077069872
cell-7 075711353
cell-9 077493617
cell-7 078725688
cell-0 071926284
cell-2 077048154
cell-4 077200384
cell-3 075905882
cell-1 070126956
cell-2 078655319
cell-2 078810585
cell-7 071594175
cell-2 077414067
cell-8 075855517
cell-6 070940321
cell-5 078410948
cell-7 077907457
cell-3 070882649
cell-9 070105388
cell-0 076124605
cell-1 078370943
cell-2 075256314
cell-1 070479100
cell-8 077479151
cell-5 075514656
cell-4 070681062
cell-0 070571466
cell-9 076743698
cell-3 070626133
cell-3 077164538
cell-0 077384326
cell-6 071086969
cell-8 075050276
cell-4 071131441
cell-0 077666345
cell-7 070378842
cell-6 070536517
cell-5 071278018
cell-8 075740059
cell-6 071591527
cell-9 076716912
cell-2 078832888
cell-4 076523733
cell-9 070167266
cell-3 071800566
cell-5 076418987
cell-5 075698937
cell-5 076274827
cell-3 078648632
cell-3 070593100
cell-2 071239912
cell-2 071290588
cell-1 070571839
cell-9 078838866
cell-2 071084323
cell-2 071761905
cell-2 076389197
cell-5 075972961
cell-0 078677294
cell-5 071177075
cell-9 070994308
cell-5 078967084
cell-6 075083784
cell-1 078810492
cell-1 070745840
cell-5 078735189
cell-9 070757032
cell-6 071962135
cell-0 070816953
cell-7 078956089
cell-5 075799885
cell-6 076608776
cell-3 075441811
cell-9 070979329
cell-5 076742363
cell-1 075613087
cell-4 077076585
cell-2 071376282
cell-2 076103480
cell-6 076316209
cell-8 071658466
cell-3 076976924
cell-2 076579302
cell-7 076065675
cell-9 077366860
cell-2 071712680
cell-2 070309686
cell-6 078007565
cell-1 078182724
cell-3 070738462
cell-5 075658786
cell-4 071244736
cell-6 075138002
cell-4 077974714
cell-2 075442664
cell-5 071491912
cell-1 076054185
cell-3 070022295
cell-4 071298483
cell-9 076598993
cell-2 070896359
cell-7 078193713
cell-4 076878112
cell-4 076294434
cell-1 070732088
cell-3 070267553
cell-1 071157978
cell-2 077465348
cell-1 076149100
cell-9 077178181
cell-2 070114135
cell-2 075925852
cell-0 075904201
cell-1 077823177
cell-1 076284341
cell-7 071012986
cell-6 075206517
cell-8 070931969
cell-6 077372496
cell-6 078308801
cell-3 071546297
cell-1 070221973
cell-3 076294792
cell-6 076155197
cell-8 075041998
cell-1 070230533
cell-3 078004219
cell-4 071747412
cell-2 075014913
cell-8 076130324
cell-1 077074235
cell-1 070996634
cell-7 078431610
84
070359157 cell-9 cell-0
078947261 cell-9 cell-0
078794064 cell-7 cell-8
075041998 cell-8 cell-9
071012986 cell-7 cell-8
078602432 cell-8 cell-9
075441811 cell-3 cell-4
077414067 cell-2 cell-3
078097242 cell-1 cell-2
077076585 cell-4 cell-5
071100308 cell-0 cell-1
075222942 cell-4 cell-5
070681062 cell-4 cell-5
078097242 cell-2 cell-3
070105388 cell-9 cell-0
076284341 cell-1 cell-2
071896161 cell-8 cell-9
071239912 cell-2 cell-3
070757032 cell-9 cell-0
075859527 cell-1 cell-2
078396643 cell-5 cell-6
070230533 cell-1 cell-2
078396643 cell-6 cell-7
076523733 cell-4 cell-5
077727868 cell-7 cell-8
070359157 cell-0 cell-1
078733196 cell-3 cell-4
077074235 cell-1 cell-2
075613087 cell-1 cell-2
078108954 cell-9 cell-0
077899861 cell-9 cell-0
070626133 cell-3 cell-4
070179628 cell-5 cell-6
076686007 cell-0 cell-1
075527869 cell-7 cell-8
078655319 cell-2 cell-3
078447792 cell-7 cell-8
077178181 cell-9 cell-0
076274827 cell-5 cell-6
078430649 cell-5 cell-6
076274827 cell-6 cell-7
076598993 cell-9 cell-0
075527869 cell-8 cell-9
070549701 cell-2 cell-3
076878112 cell-4 cell-5
075050276 cell-8 cell-9
075155709 cell-0 cell-1
076217844 cell-4 cell-5
070896512 cell-6 cell-7
070816953 cell-0 cell-1
071594175 cell-7 cell-8
071896161 cell-9 cell-0
070368253 cell-0 cell-1
078396643 cell-7 cell-8
075068861 cell-8 cell-9
071210824 cell-6 cell-7
070581387 cell-2 cell-3
077747500 cell-0 cell-1
078947261 cell-0 cell-1
078472571 cell-7 cell-8
077230321 cell-6 cell-7
076050041 cell-0 cell-1
077048154 cell-2 cell-3
075799885 cell-5 cell-6
070979329 cell-9 cell-0
076394254 cell-3 cell-4
075658786 cell-5 cell-6
076315102 cell-2 cell-3
071367806 cell-8 cell-9
078878608 cell-9 cell-0
078794064 cell-8 cell-9
077104917 cell-3 cell-4
077366860 cell-9 cell-0
078308801 cell-6 cell-7
078542674 cell-1 cell-2
078806960 cell-3 cell-4
077076585 cell-5 cell-6
077727868 cell-8 cell-9
071367806 cell-9 cell-0
075935052 cell-0 cell-1
077633835 cell-5 cell-6
078835420 cell-0 cell-1
070010527 cell-2 cell-3
077843317 cell-0 cell-1
21
078849997
075866292
071117364
078832888
078829467
075859527
070332799
071367806
070439020
070994308
071131441
078733196
075256314
077747500
071298483
076418987
070078560
070738462
077230321
076217844
070251689
----- Making calls -----
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-8
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-4
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-4
CellFullException: cell-8
----- Making handovers -----
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-4
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-5
CellFullException: cell-8
===== Find numbers =====
078849997 : cell-3
075866292 : cell-5
071117364 : cell-6
078832888 : cell-2
078829467 : cell-0
075859527 : cell-1 -> cell-2
070332799 : cell-4
071367806 : cell-8 -> cell-9 -> cell-0
070439020 : cell-2
070994308 : cell-9
071131441 : cell-4
078733196 : cell-3 -> cell-4
075256314 : cell-2
077747500 : cell-0 -> cell-1
071298483 : cell-4
076418987 : cell-5
070078560 : cell-5
070738462 : cell-3
077230321 : cell-6 -> cell-7
076217844 : cell-4 -> cell-5
070251689 : cell-5
===== Load =====
ID: cell-0
***** 58.93%
ID: cell-1
****** 65.52%
ID: cell-2
**** 49.40%
ID: cell-3
******** 85.37%
ID: cell-4
********* 96.43%
ID: cell-5
********* 91.67%
ID: cell-6
*** 35.48%
ID: cell-7
** 28.13%
ID: cell-8
******** 88.89%
ID: cell-9
** 26.32%
----- Making calls -----
CellFullException: {cell-5}
CellFullException: {cell-5}
CellFullException: {cell-5}
CellFullException: {cell-5}
CellFullException: {cell-8}
CellFullException: {cell-5}
CellFullException: {cell-5}
CellFullException: {cell-4}
CellFullException: {cell-8}
CellFullException: {cell-8}
CellFullException: {cell-4}
CellFullException: {cell-8}

----- Making handovers -----


CellFullException: {cell-0}
CellFullException: {cell-6}
===== Find numbers =====
===== Load =====
Sprint
cell-0:86 cell-1:51 cell-2:71 cell-3:52 cell-4:61 cell-5:41 cell-6:32 cell-7:80
cell-8:33 cell-9:91 cell-10:29
310
cell-8 077558565
cell-6 075257614
cell-4 076401044
cell-8 078907118
cell-6 077201534
cell-4 077303421
cell-4 075086089
cell-3 077014033
cell-4 076321818
cell-1 078471145
cell-7 070774853
cell-6 070419699
cell-10 075457789
cell-4 071436338
cell-3 078325402
cell-2 071172369
cell-8 075909768
cell-4 071442754
cell-2 077593837
cell-5 071566298
cell-8 078956284
cell-2 070534805
cell-7 070588843
cell-7 075619645
cell-8 070290908
cell-9 076329698
cell-0 071465789
cell-6 070285522
cell-9 075856277
cell-0 077078937
cell-3 076899160
cell-0 077908197
cell-6 071156781
cell-9 075541976
cell-10 070475546
cell-6 077270651
cell-4 076444124
cell-3 077893293
cell-9 078006873
cell-10 075514803
cell-5 078129388
cell-7 078879612
cell-4 071049518
cell-1 070756912
cell-2 077646758
cell-6 070329667
cell-10 075490199
cell-7 076421211
cell-8 076146919
cell-4 075547951
cell-6 071878380
cell-4 077597992
cell-8 077692211
cell-5 076790490
cell-10 078885719
cell-5 071957229
cell-1 075180381
cell-9 071795592
cell-9 071687081
cell-4 077252564
cell-5 070570080
cell-9 075845238
cell-7 077158114
cell-3 070346693
cell-6 078052782
cell-4 078016777
cell-10 070935069
cell-1 071901663
cell-7 076893291
cell-9 070159639
cell-1 077095347
cell-6 078727122
cell-3 076472810
cell-9 070809610
cell-5 077370026
cell-3 077722632
cell-2 070488741
cell-5 077446753
cell-8 075939863
cell-3 078218606
cell-4 075126807
cell-0 076550806
cell-1 075113305
cell-9 076777009
cell-6 071561012
cell-3 076889900
cell-2 076033393
cell-3 078380116
cell-2 077052210
cell-8 071631906
cell-0 071647787
cell-1 077786313
cell-4 078710690
cell-2 078569168
cell-5 076314905
cell-4 078849693
cell-0 075753359
cell-4 078316783
cell-10 077002757
cell-9 076726662
cell-5 070663770
cell-9 078116116
cell-5 071313295
cell-3 075885011
cell-0 071165435
cell-2 075996360
cell-1 077933821
cell-2 075631405
cell-4 076966679
cell-0 078249339
cell-7 076379768
cell-2 075539440
cell-5 070736109
cell-9 070140987
cell-0 070509063
cell-8 076688213
cell-10 071650675
cell-3 075855028
cell-8 078369364
cell-1 075797165
cell-3 076990944
cell-6 077138329
cell-1 070925744
cell-7 075413552
cell-4 071040918
cell-6 076064437
cell-9 070290520
cell-0 078687936
cell-0 075223735
cell-7 078297325
cell-5 077148081
cell-8 075926414
cell-9 077368154
cell-3 075111477
cell-8 077015596
cell-3 075966817
cell-8 071051323
cell-7 076829180
cell-3 070516544
cell-6 071858335
cell-10 075189948
cell-6 076744544
cell-0 078650891
cell-1 070304515
cell-6 078961370
cell-4 075377196
cell-5 075473392
cell-1 071327147
cell-1 070157798
cell-5 071905588
cell-9 075962935
cell-7 071050405
cell-8 076839260
cell-7 070289249
cell-9 075108291
cell-7 077216717
cell-7 070281547
cell-10 075569387
cell-1 076438998
cell-1 071574002
cell-4 078240530
cell-4 070982902
cell-9 076817901
cell-8 071515599
cell-1 078586214
cell-5 071390606
cell-3 070639055
cell-5 077970377
cell-1 071244065
cell-10 076220560
cell-0 075119465
cell-5 077656382
cell-8 076157878
cell-7 075251527
cell-2 077264617
cell-8 076778449
cell-3 075070663
cell-1 077810398
cell-4 076255364
cell-6 075304635
cell-8 075128784
cell-2 076390403
cell-1 076507264
cell-1 070654074
cell-1 071983655
cell-0 078020683
cell-2 076948199
cell-1 076450374
cell-4 075700502
cell-2 075666695
cell-3 075310335
cell-3 077137737
cell-1 076464687
cell-8 077352475
cell-5 075928063
cell-6 077783568
cell-10 071494430
cell-5 070329262
cell-4 076071046
cell-8 078458063
cell-7 075422560
cell-4 071548701
cell-0 071521716
cell-7 078024292
cell-10 077449970
cell-3 077121222
cell-2 075472331
cell-7 077378565
cell-9 078118329
cell-6 077786506
cell-0 071543412
cell-2 077968604
cell-1 075876605
cell-4 076493574
cell-4 078220329
cell-10 077052671
cell-0 071809517
cell-8 077915663
cell-3 071317821
cell-10 078466713
cell-0 071999668
cell-9 070523773
cell-2 075328386
cell-8 077253247
cell-8 070692677
cell-6 075094338
cell-5 078328200
cell-3 076753153
cell-8 071557907
cell-4 071956089
cell-2 071076873
cell-6 071754722
cell-10 071873233
cell-0 076165525
cell-6 070282081
cell-6 078842886
cell-6 076564389
cell-9 078690564
cell-3 078171000
cell-10 078296708
cell-2 070118527
cell-4 077377488
cell-7 075704911
cell-1 077658007
cell-8 077756078
cell-10 077962606
cell-8 075361047
cell-9 077221098
cell-10 076875690
cell-5 075594260
cell-0 078346282
cell-8 077321359
cell-6 070566132
cell-9 070726618
cell-4 078347945
cell-0 078263329
cell-6 076144334
cell-2 070769206
cell-9 075069319
cell-10 078490896
cell-6 078517569
cell-8 070713039
cell-3 077316415
cell-3 070482413
cell-5 076346074
cell-2 071241962
cell-8 075876279
cell-8 076999831
cell-6 076561483
cell-2 075628740
cell-2 071863048
cell-2 078941268
cell-10 075648911
cell-2 076871989
cell-8 076703058
cell-2 077764924
cell-0 071634030
cell-7 070680026
cell-8 078387221
cell-5 070629086
cell-4 077633200
cell-6 070401992
cell-6 071097184
cell-7 077684758
cell-8 070840216
cell-4 078956767
cell-6 078993520
cell-1 076602742
cell-6 077170432
cell-4 070572162
cell-4 071180111
cell-4 071778757
cell-9 070621458
cell-2 071249894
cell-9 075483038
cell-0 076148254
cell-0 077802348
cell-6 075447719
cell-0 076372069
cell-4 076054556
cell-7 071730949
cell-6 078267743
cell-9 076331614
cell-8 071793533
cell-9 076564179
cell-7 077777629
cell-4 076127247
cell-10 076651818
cell-10 071710598
cell-8 070895491
83
071561012 cell-6 cell-7
075569387 cell-10 cell-0
078325402 cell-3 cell-4
070680026 cell-7 cell-8
070895491 cell-8 cell-9
076726662 cell-9 cell-10
078956284 cell-8 cell-9
076829180 cell-7 cell-8
077078937 cell-0 cell-1
070769206 cell-2 cell-3
071905588 cell-5 cell-6
070523773 cell-9 cell-10
077377488 cell-4 cell-5
077352475 cell-8 cell-9
077321359 cell-8 cell-9
070570080 cell-5 cell-6
078218606 cell-3 cell-4
077446753 cell-5 cell-6
076146919 cell-8 cell-9
077658007 cell-1 cell-2
076893291 cell-7 cell-8
071574002 cell-1 cell-2
071097184 cell-6 cell-7
076064437 cell-6 cell-7
076372069 cell-0 cell-1
078993520 cell-6 cell-7
070488741 cell-2 cell-3
070572162 cell-4 cell-5
070509063 cell-0 cell-1
075070663 cell-3 cell-4
070692677 cell-8 cell-9
070570080 cell-6 cell-7
071515599 cell-8 cell-9
075966817 cell-3 cell-4
076329698 cell-9 cell-10
071050405 cell-7 cell-8
075753359 cell-0 cell-1
076331614 cell-9 cell-10
071436338 cell-4 cell-5
076507264 cell-1 cell-2
075619645 cell-7 cell-8
078346282 cell-0 cell-1
075539440 cell-2 cell-3
071494430 cell-10 cell-0
078727122 cell-6 cell-7
077138329 cell-6 cell-7
071999668 cell-0 cell-1
076893291 cell-8 cell-9
075128784 cell-8 cell-9
070680026 cell-8 cell-9
070692677 cell-9 cell-10
075490199 cell-10 cell-0
071999668 cell-1 cell-2
076688213 cell-8 cell-9
071548701 cell-4 cell-5
070304515 cell-1 cell-2
077764924 cell-2 cell-3
071778757 cell-4 cell-5
078116116 cell-9 cell-10
076054556 cell-4 cell-5
078490896 cell-10 cell-0
077303421 cell-4 cell-5
070401992 cell-6 cell-7
077783568 cell-6 cell-7
071634030 cell-0 cell-1
078129388 cell-5 cell-6
078129388 cell-6 cell-7
078249339 cell-0 cell-1
078687936 cell-0 cell-1
077446753 cell-6 cell-7
075700502 cell-4 cell-5
075628740 cell-2 cell-3
075594260 cell-5 cell-6
071390606 cell-5 cell-6
071548701 cell-5 cell-6
076875690 cell-10 cell-0
075856277 cell-9 cell-10
071566298 cell-5 cell-6
077810398 cell-1 cell-2
075483038 cell-9 cell-10
077078937 cell-1 cell-2
076602742 cell-1 cell-2
075885011 cell-3 cell-4
16
075855028
070488741
078471145
075962935
071327147
078016777
075569387
075628740
078961370
076401044
071051323
075119465
075856277
077158114
070935069
071180111
----- Making calls -----
CellFullException: cell-8
CellFullException: cell-6
CellFullException: cell-6
CellFullException: cell-8
CellFullException: cell-8
----- Making handovers -----
CellFullException: cell-8
CellFullException: cell-6
CellFullException: cell-6
===== Find numbers =====
075855028 : cell-3
070488741 : cell-2 -> cell-3
078471145 : cell-1
075962935 : cell-9
071327147 : cell-1
078016777 : cell-4
075569387 : cell-10 -> cell-0
075628740 : cell-2 -> cell-3
078961370 : cell-6
076401044 : cell-4
071051323 : cell-8
075119465 : cell-0
075856277 : cell-9 -> cell-10
077158114 : cell-7
070935069 : cell-10
071180111 : cell-4
===== Load =====
ID: cell-0
** 24.42%
ID: cell-1
***** 52.94%
ID: cell-10
******** 89.66%
ID: cell-2
**** 43.66%
ID: cell-3
***** 50.00%
ID: cell-4
***** 55.74%
ID: cell-5
***** 56.10%
ID: cell-6
********* 90.63%
ID: cell-7
*** 37.50%
ID: cell-8
******** 84.85%
ID: cell-9
*** 34.07%
----- Making calls -----
CellFullException: {cell-8}
CellFullException: {cell-6}
CellFullException: {cell-6}
CellFullException: {cell-8}
CellFullException: {cell-8}

----- Making handovers -----


CellFullException: {cell-2}
===== Find numbers =====
===== Load =====
T-Mobile
cell-0:27 cell-1:39 cell-2:34 cell-3:40 cell-4:39 cell-5:66 cell-6:73 cell-7:83
245
cell-2 077755493
cell-2 078356406
cell-4 076493704
cell-1 070312991
cell-0 076529717
cell-5 070973634
cell-2 078454813
cell-1 077262719
cell-6 076444230
cell-0 070120637
cell-4 077282656
cell-1 075635886
cell-0 076683673
cell-4 078211526
cell-1 075018070
cell-4 076857934
cell-3 077320400
cell-7 075273967
cell-3 071520226
cell-4 075921502
cell-4 078423947
cell-0 076777847
cell-6 077883004
cell-1 070222936
cell-4 077541233
cell-2 076197741
cell-0 071234065
cell-1 078361245
cell-6 077923313
cell-6 078556390
cell-0 077922976
cell-1 070014877
cell-3 075316002
cell-4 078122460
cell-1 077475099
cell-3 075138903
cell-3 075054031
cell-6 071876469
cell-0 071779476
cell-1 075307193
cell-6 078207874
cell-3 075053251
cell-7 071211453
cell-2 077288702
cell-6 078251632
cell-3 077526654
cell-5 070336962
cell-2 076697354
cell-1 078213251
cell-1 071408747
cell-2 070560835
cell-4 075794546
cell-7 076164698
cell-2 078063407
cell-3 075780511
cell-6 077818167
cell-6 075765887
cell-2 076732314
cell-4 075075719
cell-6 071865836
cell-7 070716820
cell-1 077649788
cell-0 070616134
cell-1 071770212
cell-4 077428443
cell-2 070370146
cell-3 077159470
cell-3 071235813
cell-4 071489576
cell-3 076060208
cell-6 071687606
cell-2 070508828
cell-0 070071397
cell-1 070531520
cell-2 071535031
cell-1 075108460
cell-2 077128180
cell-1 078375763
cell-0 076337898
cell-0 070612755
cell-7 075413049
cell-4 076592396
cell-5 078061822
cell-0 078591396
cell-2 070928531
cell-3 070398585
cell-3 071784235
cell-6 075936281
cell-7 075256702
cell-5 075238891
cell-1 077375191
cell-6 077165622
cell-6 075553889
cell-2 076853390
cell-4 077562213
cell-5 070779253
cell-6 070792976
cell-0 075977761
cell-0 077230271
cell-6 075673167
cell-7 077559914
cell-4 077195734
cell-2 078454964
cell-0 078723875
cell-2 070066946
cell-0 077711933
cell-7 076416022
cell-0 070497127
cell-2 075438098
cell-3 071077262
cell-7 075337253
cell-7 078915696
cell-6 075403905
cell-7 076303498
cell-7 075987965
cell-5 071314154
cell-1 071333845
cell-4 070998714
cell-7 076572041
cell-2 070408924
cell-2 076659338
cell-1 076733197
cell-7 078989124
cell-3 077689618
cell-3 078478391
cell-0 070003817
cell-2 078936358
cell-3 071366326
cell-7 077440474
cell-3 070376975
cell-2 070669405
cell-2 070755275
cell-3 078502214
cell-2 078954804
cell-3 075467232
cell-3 075469510
cell-5 076167510
cell-4 078553305
cell-5 071455320
cell-2 077165636
cell-0 070400189
cell-6 071767753
cell-7 077812861
cell-4 077667988
cell-2 071389046
cell-6 075503257
cell-2 071631718
cell-2 077279096
cell-1 071906293
cell-2 071583337
cell-2 070911424
cell-4 076432544
cell-3 071779758
cell-6 070285804
cell-4 078650657
cell-6 071149373
cell-4 075197803
cell-5 071739042
cell-3 070120008
cell-6 070473563
cell-0 075459330
cell-6 075409953
cell-0 078234800
cell-3 077535111
cell-2 078228867
cell-0 078751445
cell-0 070037245
cell-3 071601957
cell-1 077137215
cell-3 070625845
cell-3 078837121
cell-0 075792343
cell-7 078489760
cell-5 075009837
cell-7 071291376
cell-4 078761771
cell-2 076794948
cell-5 076618166
cell-4 076331658
cell-1 076945133
cell-4 075100502
cell-6 070104695
cell-3 070661162
cell-1 077814405
cell-0 071924182
cell-6 071093544
cell-0 075189913
cell-6 077565250
cell-4 070445988
cell-4 070773547
cell-5 077862800
cell-1 071762733
cell-0 076185253
cell-5 070636416
cell-6 076440378
cell-0 076979575
cell-7 077146180
cell-5 071650939
cell-2 075690565
cell-0 077640798
cell-3 078352944
cell-2 078464042
cell-7 078726649
cell-7 076829384
cell-3 075132712
cell-6 076084114
cell-5 078551458
cell-4 078958060
cell-1 078592658
cell-1 071975956
cell-2 075108144
cell-6 071284900
cell-0 078659556
cell-0 075877622
cell-3 071151377
cell-7 078229473
cell-3 071791022
cell-2 070092722
cell-2 076676982
cell-6 075906297
cell-3 078285683
cell-5 075177535
cell-7 077382866
cell-4 070780693
cell-7 071326624
cell-2 078579157
cell-7 075223541
cell-7 078579121
cell-5 070399761
cell-2 076995747
cell-6 077916241
cell-2 070883954
cell-7 078265380
cell-5 078824262
cell-5 077818082
cell-3 077399140
cell-6 077909570
cell-0 071063313
cell-7 076453807
cell-5 078436716
cell-6 071141397
cell-7 070308157
cell-3 070359255
cell-2 070012965
cell-0 075737821
75
076416022 cell-7 cell-0
071865836 cell-6 cell-7
076432544 cell-4 cell-5
078061822 cell-5 cell-6
071739042 cell-5 cell-6
077279096 cell-2 cell-3
075921502 cell-4 cell-5
077165636 cell-2 cell-3
071151377 cell-3 cell-4
078579157 cell-2 cell-3
076829384 cell-7 cell-0
075792343 cell-0 cell-1
076733197 cell-1 cell-2
071366326 cell-3 cell-4
075256702 cell-7 cell-0
077137215 cell-1 cell-2
071784235 cell-3 cell-4
070071397 cell-0 cell-1
077382866 cell-7 cell-0
071601957 cell-3 cell-4
076777847 cell-0 cell-1
071583337 cell-2 cell-3
078207874 cell-6 cell-7
076432544 cell-5 cell-6
076331658 cell-4 cell-5
077541233 cell-4 cell-5
078234800 cell-0 cell-1
070003817 cell-0 cell-1
075977761 cell-0 cell-1
078915696 cell-7 cell-0
075780511 cell-3 cell-4
070398585 cell-3 cell-4
071063313 cell-0 cell-1
076416022 cell-0 cell-1
078375763 cell-1 cell-2
071770212 cell-1 cell-2
071767753 cell-6 cell-7
071291376 cell-7 cell-0
070336962 cell-5 cell-6
077818167 cell-6 cell-7
076683673 cell-0 cell-1
078579157 cell-3 cell-4
071784235 cell-4 cell-5
076164698 cell-7 cell-0
077711933 cell-0 cell-1
075635886 cell-1 cell-2
077288702 cell-2 cell-3
076853390 cell-2 cell-3
071149373 cell-6 cell-7
077812861 cell-7 cell-0
070071397 cell-1 cell-2
070066946 cell-2 cell-3
078454813 cell-2 cell-3
070071397 cell-2 cell-3
070716820 cell-7 cell-0
078556390 cell-6 cell-7
078553305 cell-4 cell-5
075075719 cell-4 cell-5
075936281 cell-6 cell-7
078375763 cell-2 cell-3
077812861 cell-0 cell-1
075438098 cell-2 cell-3
070336962 cell-6 cell-7
070636416 cell-5 cell-6
078285683 cell-3 cell-4
075792343 cell-1 cell-2
071770212 cell-2 cell-3
078352944 cell-3 cell-4
077812861 cell-1 cell-2
070779253 cell-5 cell-6
070376975 cell-3 cell-4
078436716 cell-5 cell-6
070883954 cell-2 cell-3
078285683 cell-4 cell-5
078285683 cell-5 cell-6
14
078659556
071235813
071791022
071366326
077526654
078824262
077288702
076995747
076683673
076777847
077230271
078356406
076829384
078553305
----- Making calls -----
CellFullException: cell-0
CellFullException: cell-0
CellFullException: cell-2
CellFullException: cell-0
CellFullException: cell-0
CellFullException: cell-2
CellFullException: cell-2
CellFullException: cell-2
CellFullException: cell-2
CellFullException: cell-2
CellFullException: cell-0
CellFullException: cell-2
CellFullException: cell-0
----- Making handovers -----
CellFullException: cell-0
CellFullException: cell-0
CellFullException: cell-2
CellFullException: cell-2
===== Find numbers =====
Number '078659556' not found
071235813 : cell-3
071791022 : cell-3
071366326 : cell-3 -> cell-4
077526654 : cell-3
078824262 : cell-5
077288702 : cell-2 -> cell-3
Number '076995747' not found
076683673 : cell-0 -> cell-1
076777847 : cell-0 -> cell-1
077230271 : cell-0
078356406 : cell-2
076829384 : cell-7
078553305 : cell-4 -> cell-5
===== Load =====
ID: cell-0
********* 92.59%
ID: cell-1
******* 74.36%
ID: cell-2
******** 88.24%
ID: cell-3
********* 95.00%
ID: cell-4
******* 76.92%
ID: cell-5
*** 30.30%
ID: cell-6
**** 45.21%
ID: cell-7
*** 33.73%
----- Making calls -----
CellFullException: {cell-0}
CellFullException: {cell-0}
CellFullException: {cell-2}
CellFullException: {cell-0}
CellFullException: {cell-0}
CellFullException: {cell-2}
CellFullException: {cell-2}
CellFullException: {cell-2}
CellFullException: {cell-2}
CellFullException: {cell-2}
CellFullException: {cell-0}
CellFullException: {cell-2}
CellFullException: {cell-0}

----- Making handovers -----


CellFullException: {cell-0}
===== Find numbers =====
===== Load =====
Sprint
cell-0:92 cell-1:87 cell-2:81 cell-3:98 cell-4:20 cell-5:97 cell-6:69 cell-7:87
cell-8:21 cell-9:13 cell-10:53 cell-11:43 cell-12:10
326
cell-10 078164218
cell-5 071404685
cell-10 077948402
cell-9 077527960
cell-11 078062415
cell-12 070968278
cell-12 078611347
cell-8 071019538
cell-4 077691490
cell-2 077895207
cell-1 076978896
cell-2 076232248
cell-12 071349737
cell-1 076228630
cell-1 070050174
cell-12 077743360
cell-5 076525054
cell-11 076645927
cell-1 075548441
cell-8 076214119
cell-3 070367543
cell-10 077163992
cell-10 077490265
cell-5 075551147
cell-3 070652681
cell-12 071627722
cell-4 071231191
cell-4 076374943
cell-6 078200072
cell-6 078106333
cell-12 075644103
cell-3 078096796
cell-3 075994840
cell-1 077819654
cell-11 070784309
cell-3 071098518
cell-1 076854805
cell-4 071682272
cell-1 078908296
cell-1 077030832
cell-8 071531965
cell-11 075045578
cell-0 075761952
cell-5 071757182
cell-0 076200957
cell-3 070284599
cell-3 070617222
cell-7 076210743
cell-0 071630347
cell-4 076039422
cell-12 076784541
cell-5 075060649
cell-1 077068165
cell-9 076087529
cell-7 076465969
cell-1 076432177
cell-3 077700974
cell-12 077601793
cell-2 070779848
cell-4 071304612
cell-4 075531366
cell-6 076567332
cell-12 075161795
cell-9 078621292
cell-5 078830393
cell-5 078801179
cell-0 076250382
cell-1 070418219
cell-1 077875189
cell-11 077367807
cell-3 077605143
cell-5 075710886
cell-10 077131213
cell-11 071462206
cell-9 071633545
cell-8 078794578
cell-7 075115233
cell-0 070554524
cell-2 078098549
cell-11 075659564
cell-3 070074665
cell-2 075452775
cell-7 071322700
cell-9 071027112
cell-7 070835013
cell-11 071043710
cell-7 071458940
cell-4 075269675
cell-5 075525808
cell-4 070687550
cell-0 077898674
cell-10 070895344
cell-5 071116734
cell-2 075790400
cell-4 076707670
cell-11 078605695
cell-11 070727587
cell-1 075688129
cell-9 070002941
cell-9 071668296
cell-3 078885734
cell-0 070410301
cell-9 070182045
cell-7 077086826
cell-3 078608424
cell-1 076916205
cell-7 071829744
cell-7 078225522
cell-10 077413221
cell-5 071074012
cell-1 076034575
cell-3 071323994
cell-10 075150905
cell-3 076303075
cell-9 078070091
cell-0 077186942
cell-11 071481916
cell-5 077073483
cell-6 075309846
cell-6 070370199
cell-8 075456467
cell-7 070402071
cell-4 071455347
cell-6 071998920
cell-12 070690547
cell-9 077663375
cell-6 075140758
cell-7 075448486
cell-3 071128255
cell-11 076909476
cell-10 077478236
cell-2 076375865
cell-12 078626176
cell-8 077927718
cell-9 077645506
cell-9 075947335
cell-6 078026291
cell-12 071229510
cell-6 078028823
cell-4 075129983
cell-5 078778302
cell-0 071120424
cell-6 070302040
cell-4 070541673
cell-6 077589920
cell-9 070212198
cell-8 078529896
cell-2 075028026
cell-9 075008917
cell-3 078260431
cell-11 071027442
cell-0 075234718
cell-6 071380430
cell-4 077407938
cell-0 071651743
cell-2 076602492
cell-7 071828530
cell-2 077985343
cell-4 070758341
cell-7 078230262
cell-7 071097240
cell-2 078682044
cell-4 077471627
cell-3 070326721
cell-5 078372456
cell-11 075131608
cell-6 071095316
cell-0 071121519
cell-12 078655659
cell-6 075923180
cell-4 076246879
cell-12 071576862
cell-11 070135398
cell-2 075027997
cell-5 078692412
cell-1 076718105
cell-0 076496690
cell-12 070278083
cell-7 077308432
cell-12 077875676
cell-4 075031467
cell-9 070859282
cell-11 071285507
cell-8 078895936
cell-7 075351175
cell-3 077995234
cell-10 070069263
cell-4 076012530
cell-10 075717738
cell-1 077338244
cell-5 071075062
cell-6 071869073
cell-3 070386506
cell-0 076551377
cell-10 070986460
cell-5 077795843
cell-8 075154210
cell-0 070360739
cell-10 077003560
cell-12 070933471
cell-10 070082487
cell-6 077362232
cell-1 078099910
cell-4 075860167
cell-7 077693569
cell-4 076993299
cell-5 075430755
cell-9 071356644
cell-7 071818944
cell-8 077648645
cell-7 071469354
cell-2 078743429
cell-7 075232086
cell-2 077682420
cell-0 071006775
cell-8 075051010
cell-4 078372282
cell-3 076493758
cell-8 076553165
cell-0 071911840
cell-1 070689154
cell-4 076498813
cell-11 077710222
cell-2 078952060
cell-0 075768240
cell-2 070859469
cell-4 078223958
cell-12 075951522
cell-0 076556589
cell-6 075388492
cell-5 076226495
cell-11 071114394
cell-8 075044534
cell-5 071952960
cell-2 070460175
cell-5 078796215
cell-1 075332952
cell-11 076494337
cell-8 070068076
cell-0 070510769
cell-11 076611809
cell-1 076228949
cell-5 078746976
cell-8 071144467
cell-9 078717114
cell-5 071394147
cell-11 076827435
cell-5 070676403
cell-5 070683588
cell-9 077183049
cell-0 077235887
cell-5 075133434
cell-12 077461449
cell-6 070900009
cell-4 075957580
cell-4 075972593
cell-1 076401897
cell-3 075603553
cell-7 077308439
cell-8 075913305
cell-1 070719716
cell-12 070157033
cell-6 078393416
cell-12 078941919
cell-7 076718752
cell-9 076861303
cell-8 076464538
cell-7 076002135
cell-8 070721260
cell-2 076557771
cell-7 078044315
cell-11 078072998
cell-7 075899835
cell-3 077801910
cell-1 078341751
cell-4 070744838
cell-9 075912550
cell-9 071068622
cell-2 076632841
cell-1 070579630
cell-6 070467623
cell-4 078047617
cell-5 070078164
cell-1 070946927
cell-4 076049033
cell-6 071419187
cell-9 078980607
cell-11 071569667
cell-10 071623808
cell-0 078918530
cell-7 077345513
cell-2 075512365
cell-8 071385951
cell-5 076811796
cell-10 077336693
cell-1 078816754
cell-2 070850594
cell-9 075975695
cell-2 076493653
cell-10 077794540
cell-6 075511124
cell-5 071612882
cell-7 076974264
cell-1 075912525
cell-6 076705464
cell-6 078289939
cell-10 075580784
cell-4 076213421
cell-1 076431623
cell-11 078097056
cell-10 078101537
cell-9 070864975
cell-12 071260664
cell-4 075010602
cell-4 078298041
cell-0 071462883
cell-1 076241834
cell-8 077409438
cell-11 071225213
cell-0 075028232
cell-7 075254668
cell-5 071161848
cell-10 077831179
cell-5 078145876
cell-1 075911159
cell-1 070016417
76
071019538 cell-8 cell-9
071116734 cell-5 cell-6
075659564 cell-11 cell-12
077648645 cell-8 cell-9
078816754 cell-1 cell-2
071231191 cell-4 cell-5
071818944 cell-7 cell-8
077186942 cell-0 cell-1
075761952 cell-0 cell-1
071469354 cell-7 cell-8
077691490 cell-4 cell-5
077682420 cell-2 cell-3
071623808 cell-10 cell-11
070460175 cell-2 cell-3
078298041 cell-4 cell-5
070050174 cell-1 cell-2
070895344 cell-10 cell-11
077795843 cell-5 cell-6
070326721 cell-3 cell-4
070864975 cell-9 cell-10
077985343 cell-2 cell-3
076210743 cell-7 cell-8
078941919 cell-12 cell-0
075254668 cell-7 cell-8
070968278 cell-12 cell-0
075161795 cell-12 cell-0
076718752 cell-7 cell-8
070418219 cell-1 cell-2
070689154 cell-1 cell-2
070050174 cell-2 cell-3
075133434 cell-5 cell-6
070278083 cell-12 cell-0
075923180 cell-6 cell-7
070460175 cell-3 cell-4
075975695 cell-9 cell-10
070078164 cell-5 cell-6
078026291 cell-6 cell-7
078796215 cell-5 cell-6
075129983 cell-4 cell-5
071323994 cell-3 cell-4
075456467 cell-8 cell-9
070069263 cell-10 cell-11
078626176 cell-12 cell-0
078070091 cell-9 cell-10
075150905 cell-10 cell-11
078164218 cell-10 cell-11
070360739 cell-0 cell-1
075010602 cell-4 cell-5
075860167 cell-4 cell-5
071260664 cell-12 cell-0
077831179 cell-10 cell-11
077794540 cell-10 cell-11
075008917 cell-9 cell-10
078796215 cell-6 cell-7
078260431 cell-3 cell-4
077801910 cell-3 cell-4
075912525 cell-1 cell-2
075511124 cell-6 cell-7
071322700 cell-7 cell-8
075388492 cell-6 cell-7
078047617 cell-4 cell-5
078952060 cell-2 cell-3
075140758 cell-6 cell-7
071043710 cell-11 cell-12
070835013 cell-7 cell-8
078655659 cell-12 cell-0
078605695 cell-11 cell-12
078796215 cell-7 cell-8
070859469 cell-2 cell-3
070541673 cell-4 cell-5
070946927 cell-1 cell-2
075351175 cell-7 cell-8
075768240 cell-0 cell-1
075899835 cell-7 cell-8
076645927 cell-11 cell-12
078611347 cell-12 cell-0
14
070617222
071394147
077030832
075790400
077801910
078743429
076602492
077743360
070460175
075150905
075951522
078298041
077073483
078097056
----- Making calls -----
CellFullException: cell-12
CellFullException: cell-12
CellFullException: cell-9
CellFullException: cell-12
CellFullException: cell-12
CellFullException: cell-12
CellFullException: cell-12
CellFullException: cell-9
CellFullException: cell-12
CellFullException: cell-4
CellFullException: cell-9
CellFullException: cell-4
CellFullException: cell-4
CellFullException: cell-4
CellFullException: cell-12
CellFullException: cell-9
CellFullException: cell-9
CellFullException: cell-12
CellFullException: cell-4
CellFullException: cell-4
CellFullException: cell-12
CellFullException: cell-12
CellFullException: cell-9
CellFullException: cell-4
CellFullException: cell-9
CellFullException: cell-9
CellFullException: cell-4
CellFullException: cell-4
CellFullException: cell-9
CellFullException: cell-9
CellFullException: cell-4
CellFullException: cell-9
CellFullException: cell-12
CellFullException: cell-4
CellFullException: cell-4
----- Making handovers -----
CellFullException: cell-9
CellFullException: cell-12
CellFullException: cell-9
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-9
CellFullException: cell-4
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-8
CellFullException: cell-12
===== Find numbers =====
070617222 : cell-3
071394147 : cell-5
077030832 : cell-1
075790400 : cell-2
077801910 : cell-3
078743429 : cell-2
076602492 : cell-2
077743360 : cell-12
070460175 : cell-2 -> cell-3 -> cell-4
075150905 : cell-10 -> cell-11
Number '075951522' not found
078298041 : cell-5
077073483 : cell-5
078097056 : cell-11
===== Load =====
ID: cell-0
*** 30.43%
ID: cell-1
*** 34.48%
ID: cell-10
*** 32.08%
ID: cell-11
****** 65.12%
ID: cell-12
********* 90.00%
ID: cell-2
** 27.16%
ID: cell-3
** 23.47%
ID: cell-4
********* 95.00%
ID: cell-5
*** 35.05%
ID: cell-6
*** 33.33%
ID: cell-7
** 27.59%
ID: cell-8
********** 100.00%
ID: cell-9
********* 92.31%
----- Making calls -----
CellFullException: {cell-12}
CellFullException: {cell-12}
CellFullException: {cell-9}
CellFullException: {cell-12}
CellFullException: {cell-12}
CellFullException: {cell-12}
CellFullException: {cell-12}
CellFullException: {cell-9}
CellFullException: {cell-12}
CellFullException: {cell-4}
CellFullException: {cell-9}
CellFullException: {cell-4}
CellFullException: {cell-4}
CellFullException: {cell-4}
CellFullException: {cell-12}
CellFullException: {cell-9}
CellFullException: {cell-9}
CellFullException: {cell-12}
CellFullException: {cell-4}
CellFullException: {cell-4}
CellFullException: {cell-12}
CellFullException: {cell-12}
CellFullException: {cell-9}
CellFullException: {cell-4}
CellFullException: {cell-9}
CellFullException: {cell-9}
CellFullException: {cell-4}
CellFullException: {cell-4}
CellFullException: {cell-9}
CellFullException: {cell-9}
CellFullException: {cell-4}
CellFullException: {cell-9}
CellFullException: {cell-12}
CellFullException: {cell-4}
CellFullException: {cell-4}

----- Making handovers -----


===== Find numbers =====
===== Load =====

=========================================================================
Мое нецелосно решение - имам 20/45 бода за оваа задача
=============================================================================
package mk.ukim.finki.np.juni.CellularNetwork;

import java.util.*;

class CellFullException extends Exception {


public CellFullException(String id) {
super(String.format("CellFullException: {%s}",id));
}
}

class CellClass {
int capacity;
List<String> numbers;
int maxCapacity;

public CellClass(int capacity, List<String> numbers) {


this.capacity = capacity;
this.numbers = numbers;
maxCapacity = capacity;
}

public int getMaxCapacity() {


return maxCapacity;
}

public int getCapacity() {


return capacity;
}

public void addNumber(String number){


numbers.add(number);
}

public void decreaseCapacity() {


this.capacity -= 1;
}
public void increaseCapacity() {
this.capacity += 1;
}

public void setCapacity(int capacity) {


this.capacity = capacity;
}
public List<String> getNumbers() {
return numbers;
}

public void setNumbers(List<String> numbers) {


this.numbers = numbers;
}

class CellularNetwork {
String name;
String [] cellIds;
int [] capacities;
Map<String, CellClass> map;
//cell-0:41 cell-1:39
//cell-1 070609890

public CellularNetwork(String name, String [] cellIds, int [] capacities){


this.name = name;
map = new HashMap<>();
for(int i=0;i< cellIds.length; i++) {
map.put(cellIds[i], new CellClass(capacities[i],new ArrayList<>()));
}

public void makeCall(String cellId, String number) throws CellFullException {


if(map.get(cellId).getCapacity() == 0) throw new CellFullException(cellId);
if(map.get(cellId) != null) {
map.get(cellId).addNumber(number);
map.get(cellId).decreaseCapacity();
}
}

public void handover(String number, String fromCellId, String toCellId) throws


CellFullException {
CellClass toSend = map.get(fromCellId);
map.get(fromCellId).increaseCapacity();

if(map.get(toCellId).getCapacity() == map.get(toCellId).getMaxCapacity())
throw new CellFullException(toCellId);
map.put(toCellId,toSend);
map.get(toCellId).increaseCapacity();
}

public void findNumber(String number) {


}

public void load() {

}
}

public class CellularNetworkTest {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
String[] cells = scanner.nextLine().split("\\s+");
String[] cellIds = new String[cells.length];
int[] capacities = new int[cells.length];
for (int i = 0; i < cells.length; ++i) {
String[] parts = cells[i].split(":");
cellIds[i] = parts[0];
capacities[i] = Integer.parseInt(parts[1]);
}
CellularNetwork cellularNetwork = new CellularNetwork(name, cellIds,
capacities);
int n = scanner.nextInt();
scanner.nextLine();
System.out.println("----- Making calls -----");
for (int i = 0; i < n; ++i) {
String line = scanner.nextLine();
String[] parts = line.split("\\s+");
try {
cellularNetwork.makeCall(parts[0], parts[1]);
} catch (CellFullException e) {
System.out.println(e.getMessage());
}
}
System.out.println();
n = scanner.nextInt();
scanner.nextLine();
System.out.println("----- Making handovers -----");
for (int i = 0; i < n; ++i) {
String line = scanner.nextLine();
String[] parts = line.split("\\s+");
try {
cellularNetwork.handover(parts[0], parts[1], parts[2]);
} catch (CellFullException e) {
System.out.println(e.getMessage());
}
}
System.out.println("===== Find numbers =====");
n = scanner.nextInt();
scanner.nextLine();
for (int i = 0; i < n; ++i) {
String number = scanner.nextLine();
cellularNetwork.findNumber(number);
}
System.out.println("===== Load =====");
cellularNetwork.load();
scanner.close();
}
}

===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================
===================================================================================
=======================================================================
лабораториски задача - од лаб 5 - генерички ред

import java.util.Scanner;
import java.util.LinkedList;

@SuppressWarnings("serial")
class EmptyQueueException extends Exception {

public EmptyQueueException() {
this("The queue is empty.");
}

public EmptyQueueException(String message) {


super(message);
}

class Queue <T> {

private Node<T> head,tail;

private int count = 0;

public Queue() {
head = null;
tail = null;
count = 0;
}

public boolean isEmpty() {


return count==0;
}

// todo
public void enqueue( T element ) {

// todo
public T dequeue() throws EmptyQueueException {

public T peek() throws EmptyQueueException {


if ( isEmpty() ) throw new EmptyQueueException();
return head.getElement();
}

// todo
public T inspect() throws EmptyQueueException {

public int count() {


return count;
}

public String toString() {


StringBuilder sb = new StringBuilder();
Node<T> walker = head;
while ( walker != null ) {
sb.append(walker.getElement()+" -> ");
walker = walker.getNext();
}
sb.append("null");
return sb.toString();
}

class Node <T> {


private T element;

private Node<T> next;

public Node<T> getNext() {


return next;
}

public void setNext(Node<T> next) {


this.next = next;
}

public T getElement() {
return element;
}

public Node(T element, Node<T> next) {


super();
this.element = element;
this.next = next;
}
}

public class QueueTest {

public static void main(String[] args) throws EmptyQueueException {


Scanner jin = new Scanner(System.in);
int k = jin.nextInt();
if ( k == 0 ) { //Simple test case with one int element
int t = jin.nextInt();
Queue<Integer> queue = new Queue<Integer>();
System.out.println("Queue empty? - "+queue.isEmpty());
System.out.println("Queue count? - "+queue.count());
System.out.println("Queue enqueue "+t);
queue.enqueue(t);
System.out.println("Queue empty? - "+queue.isEmpty());
System.out.println("Queue count? - "+queue.count());
System.out.println("Queue dequeue? - "+queue.dequeue());
System.out.println("Queue empty? - "+queue.isEmpty());
System.out.println("Queue count? - "+queue.count());
}
if ( k == 1 ) { //a more complex test with strings
Queue<String> queue = new Queue<String>();
int counter = 0;
while ( jin.hasNextInt() ) {
String t = jin.next();
queue.enqueue(t);
++counter;
}
for ( int i = 0 ; i < counter ; ++i ) {
System.out.println(queue.dequeue());
}
queue.enqueue(jin.next());
System.out.println("Queue inspect? - "+queue.inspect());
System.out.println("Queue peek? - "+queue.peek());
queue.enqueue(queue.dequeue());
queue.enqueue(jin.next());
System.out.println("Queue inspect? - "+queue.inspect());
System.out.println("Queue peek? - "+queue.peek());
}
if ( k == 2 ) {
Queue<String> queue = new Queue<String>();
String next = "";
int counter = 0;
while ( true ) {
next = jin.next();
if ( next.equals("stop") ) break;
queue.enqueue(next);
++counter;
}
while ( !queue.isEmpty() ) {
if ( queue.count()<counter) System.out.print(" ");
System.out.print(queue.dequeue());
}
}
if ( k == 3 ) { //random testing
Queue<Double> queue = new Queue<Double>();
LinkedList<Double> java_queue = new LinkedList<Double>();
boolean flag = true;
int n = jin.nextInt();
for ( int i = 0 ; i < n ; ++i ) {
double q = Math.random();
if ( q < 0.5 ) {
double t = Math.random();
queue.enqueue(t);
java_queue.addFirst(t);
}
if ( q < 0.8&&q >= 0.5 ) {
if ( ! java_queue.isEmpty() ) {
double t1 = java_queue.removeLast();
double t2 = queue.dequeue();
flag &= t1==t2;
}
else {
flag &= java_queue.isEmpty()==queue.isEmpty();
}
}
if ( q < 0.9&&q >= 0.8 ) {
if ( ! java_queue.isEmpty() ) {
double t1 = java_queue.peekLast();
double t2 = queue.peek();
flag &= t1==t2;
}
else {
flag &= java_queue.isEmpty()==queue.isEmpty();
}
}
if ( q < 1 && q >= 0.9 ) {
if ( ! java_queue.isEmpty() ) {
double t1 = java_queue.peekFirst();
double t2 = queue.inspect();
flag &= t1==t2;
}
else {
flag &= java_queue.isEmpty()==queue.isEmpty();
}
}
flag &= java_queue.size()==queue.count();
}
System.out.println("Compared to the control queue the results were the
same? - "+flag);
}
if ( k == 4 ) { //performance testing
Queue<Double> queue = new Queue<Double>();
int n = jin.nextInt();
for ( int i = 0 ; i < n ; ++i ) {
if ( Math.random() < 0.5 ) {
queue.enqueue(Math.random());
}
else {
if ( ! queue.isEmpty() ) {
queue.dequeue();
}
}
}
System.out.println("You implementation finished in less then 3 seconds,
well done!");
}
if ( k == 5 ) { //Exceptions testing
Queue<String> queue = new Queue<String>();
try {
queue.dequeue();
}
catch ( Exception e ) {
System.out.println(e.getClass().getSimpleName());
}
try {
queue.peek();
}
catch ( Exception e ) {
System.out.println(e.getClass().getSimpleName());
}
try {
queue.inspect();
}
catch ( Exception e ) {
System.out.println(e.getClass().getSimpleName());
}
}
}

You might also like