Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- // Клас за тестване на системата
- public class Test {
- public static void main(String[] args) {
- // Създаване на обект от тип Scanner за четене от стандартния вход
- Scanner scanner = new Scanner(System.in);
- // Четене на първия ред от входа - името и свободните места на детската градина
- String[] kindergartenInput = scanner.nextLine().split(" ");
- String kindergartenName = kindergartenInput[0];
- int kindergartenFreeSpots = Integer.parseInt(kindergartenInput[1]);
- // Създаване на обект от тип Kindergarten с данните от входа
- Kindergarten kindergarten = new Kindergarten(kindergartenName, kindergartenFreeSpots);
- // Четене на втория ред от входа - броят на децата
- int n = Integer.parseInt(scanner.nextLine());
- // Създаване на списък от обекти от тип Child за съхранение на децата
- ArrayList<Child> children = new ArrayList<Child>();
- // Четене на следващите n реда от входа - името и точките на всяко дете
- for (int i = 0; i < n; i++) {
- String[] childInput = scanner.nextLine().split(" ");
- String childName = childInput[0];
- int childPoints = Integer.parseInt(childInput[1]);
- // Създаване на обект от тип Child с данните от входа
- Child child = new Child(childName, childPoints);
- // Добавяне на обекта към списъка с децата
- children.add(child);
- }
- // Сортиране на списъка с децата по точки в низходящ ред (от най-много към най-малко)
- Collections.sort(children, new Comparator<Child>() {
- public int compare(Child c1, Child c2) {
- return c2.getPoints() - c1.getPoints();
- }
- });
- // Създаване на два списъка - един за приетите деца и един за неприетите деца
- ArrayList<Child> acceptedChildren = new ArrayList<Child>();
- ArrayList<Child> unacceptedChildren = new ArrayList<Child>();
- // Обхождане на списъка с децата и проверка дали могат да бъдат приети в детската градина
- for (Child child : children) {
- // Проверка дали детската градина има свободни места
- if (kindergarten.hasFreeSpots()) {
- // Добавяне на детето към списъка с приетите деца
- acceptedChildren.add(child);
- // Намаляване на свободните места в детската градина с едно
- kindergarten.decreaseFreeSpots();
- } else {
- // Добавяне на детето към списъка с неприетите деца
- unacceptedChildren.add(child);
- }
- }
- // Извеждане на резултата на стандартния изход
- // Проверка дали има приети деца
- if (acceptedChildren.size() > 0) {
- Извеждане на резултата на стандартния изход
- // Проверка дали има приети деца
- if (acceptedChildren.size() > 0) {
- // Извеждане на имената на приетите деца на първия ред, разделени с интервал
- for (Child child : acceptedChildren) {
- System.out.print(child.getName() + " ");
- }
- // Преход на нов ред
- System.out.println();
- } else {
- // Извеждане на "n/a" на първия ред, ако няма приети деца
- System.out.println("n/a");
- }
- // Проверка дали има неприети деца
- if (unacceptedChildren.size() > 0) {
- // Извеждане на имената на неприетите деца на втория ред, разделени с интервал
- for (Child child : unacceptedChildren) {
- System.out.print(child.getName() + " ");
- }
- // Преход на нов ред
- System.out.println();
- } else {
- // Извеждане на "n/a" на втория ред, ако няма неприети деца
- System.out.println("n/a");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement