Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**Консултации
- Кај асистентот Игор се одржуваат консултации по два предмети АСП и ММС во еден термин.
- Бидејќи по АПС колоквиумот е следниот ден, Игор им рекол на студентите кои што чекаат дека прво ќе ги услужи студентите по АПС, а после студентите по ММС.
- Студентите се подготвиле со прашања и прашањата за АПС можат да бидат од тип А, B, C или D.
- Асистентот им напоменал на студентите по АПС, ако дојде некој студент и праша прашање од тип X (X e A,B,C или D) и веднаш после него дојде студент со прашање од тип X (т.е. со прашање од ист тип), вториот студент ќе биде ставен на крајот од редот и истовремено ќе биде пуштен еден студент од другата редица за ММС (ако таа редица не е празна).
- Генерално, ако последното одговорено прашање по АПС е од тип X, и дојде студент со прашање од тип X,
- тој се преместува на крајот од редот и се пушта еден студент од другата редица за ММС (ако таа редица не е празна).
- Кој ќе биде конечниот распоред за влегување?
- Влез: Се дава прво бројот на студенти кои се пријавиле за консултации АПС, а потоа се наведуваат студентите според редоследот на пријавување и се дава за кој тип прашање се пријавиле (A, B, C или D).
- Следно се дава бројот на студенти кои се пријавиле за консултации ММС, а потоа се наведуваат студентите според редоследот на пријавување.
- На излез се печатат студентите според редоследот по кој влегле на консултации.
- Име на класа (за Јава): Konsultacii
- Забелешка: При реализација на задачите МОРА да се користат дадените структури, а не да користат помошни структури како низи или сл.
- Sample input
- 3
- IlinkaIvanoska A
- MagdalenaKostoska A
- HristinaMihajloska B
- 1
- IgorKulev
- Sample output
- IlinkaIvanoska
- IgorKulev
- HristinaMihajloska
- MagdalenaKostoska
- Sample input
- 3
- IlinkaIvanoska A
- MagdalenaKostoska B
- HristinaMihajloska B
- 1
- IgorKulev
- Sample output
- IlinkaIvanoska
- MagdalenaKostoska
- IgorKulev
- HristinaMihajloska
- */
- //CODE
- import java.util.NoSuchElementException;
- import java.util.Scanner;
- class SLLNode<E> {
- protected E element;
- protected SLLNode<E> succ;
- public SLLNode(E elem, SLLNode<E> succ) {
- this.element = elem;
- this.succ = succ;
- }
- @Override
- public String toString() {
- return element.toString();
- }
- }
- interface Queue<E> {
- public boolean isEmpty();
- public int size();
- public E peek();
- public void clear();
- public void enqueue(E x);
- public E dequeue();
- }
- class ArrayQueue<E> implements Queue<E> {
- E[] elems;
- int length, front, rear;
- @SuppressWarnings("unchecked")
- public ArrayQueue(int maxlength) {
- elems = (E[]) new Object[maxlength];
- clear();
- }
- public boolean isEmpty() {
- return (length == 0);
- }
- public int size() {
- return elems.length;
- }
- public E peek() {
- if (length > 0)
- return elems[front];
- else
- throw new NoSuchElementException();
- }
- public void clear() {
- length = 0;
- front = rear = 0; // arbitrary
- }
- public void enqueue(E x) {
- elems[rear++] = x;
- if (rear == elems.length)
- rear = 0;
- length++;
- }
- public E dequeue() {
- if (length > 0) {
- E frontmost = elems[front];
- elems[front++] = null;
- if (front == elems.length)
- front = 0;
- length--;
- return frontmost;
- } else
- throw new NoSuchElementException();
- }
- }
- public class Konsultacii {
- private static void Konsultacii(ArrayQueue<String> redAPS, ArrayQueue<String> redMMS, ArrayQueue<String> redTip) {
- String tip = "";
- while (!redAPS.isEmpty() && !redTip.isEmpty()) {
- if (tip.equals(redTip.peek())) {
- tip = redTip.dequeue();
- redTip.enqueue(tip);
- redAPS.enqueue(redAPS.dequeue());
- if (!redMMS.isEmpty())
- System.out.println(redMMS.dequeue());
- else {
- tip = redTip.dequeue();
- System.out.println(redAPS.dequeue());
- }
- } else {
- tip = redTip.dequeue();
- System.out.println(redAPS.dequeue());
- }
- }
- while (!redMMS.isEmpty())
- System.out.println(redMMS.dequeue());
- }
- public static void main(String[] args) {
- Scanner br = new Scanner(System.in);
- ArrayQueue<String> redAPS = new ArrayQueue<String>(50);
- ArrayQueue<String> redMMS = new ArrayQueue<String>(50);
- ArrayQueue<String> redTip = new ArrayQueue<String>(50);
- int i, brStudentiAPS, brStudentiMMS;
- brStudentiAPS = Integer.parseInt(br.nextLine());
- String[] imeStudentiAPS = new String[brStudentiAPS];
- String[] studentiAPStipPrasanje = new String[brStudentiAPS];
- for (i = 0; i < brStudentiAPS; i++) {
- String red = br.nextLine();
- String[] pom = red.split(" ");
- imeStudentiAPS[i] = pom[0];
- redAPS.enqueue(imeStudentiAPS[i]);
- studentiAPStipPrasanje[i] = pom[1];
- redTip.enqueue(studentiAPStipPrasanje[i]);
- }
- brStudentiMMS = Integer.parseInt(br.nextLine());
- String[] imeStudentiMMS = new String[brStudentiMMS];
- for (i = 0; i < brStudentiMMS; i++) {
- String red = br.nextLine();
- String[] pom = red.split(" ");
- imeStudentiMMS[i] = pom[0];
- redMMS.enqueue(imeStudentiMMS[i]);
- }
- Konsultacii(redAPS, redMMS, redTip);
- br.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement