Софтуерно Инженерство
Loading...
Val3ntinV avatar Val3ntinV 14 Точки

Dating App 78точки

код   https://pastebin.com/Gjnrnzk0

Помогнете ако знаете къде може да се крие проблема !!!

Условие..

First you will be given a sequence of integers representing males. Afterwards you will be given another sequence of integers representing females.

You have to start from the first female and try to match it with the last male.

  • If their values are equal, you have to match them and remove both of them. Otherwise you should remove only the female and decrease the value of the male by 2.
  • If someone’s value is equal to or below 0, you should remove him/her from the records before trying to match him/her with anybody.
  • Special

You need to stop matching people when you have no more females or males.

Input

  • On the first line of input you will receive the integers, representing the males, separated by a single space.
  • On the second line of input you will receive the integers, representing the females, separated by a single space.

Output

  • On the first line of output - print the number of successful matches:
    • Matches: {matchesCount}"
  • On the second line - print all males left:
    • If there are no males: "Males left: none"
    • If there are males: "Males left: {male1}, {male2}, {male3}, (…)"
  • On the third line - print all females left:
    • If there are no females: "Females left: none"
    • If there are females: "Females left: {female1}, {female2}, {female3}, (…)"

Constraints

  • All of the given numbers will be valid integers in the range [-100, 100].

Examples

Input

Output

Comment

3 6 9 12

12 9 6 1 25 25

Matches: 3

Males left: 1

Females left: none

The first pair is the first female with value of 12 and the last male of value 12, their values are equal, so we match them, therefore - remove them from the records. Then we have two more matches (9 == 9 and 6 == 6). But the value of the next male is 3 and the value of the next female is 1, it’s not a match and we remove the female and reduce the male’s value by 2. We have a female whose value is 25 and we have to remove her and the next female.Then, we print the desired output.

3 0 3 6 9 0 12

12 9 6 1 2 3 15 13 4

Matches: 4

Males left: none

Females left: 15, 13, 4

 

 

Тагове:
0
Java Advanced 11/01/2020 16:16:01
KeepCoding avatar KeepCoding 540 Точки
Best Answer

Здравей, с минимално пипане по кода, ето я поправената версия: https://pastebin.com/Sz7Tvf7j

Различното е че съм преименувал структурите данни за стекът и опашката, както и за входът от конзолата (за мое си улеснение). Същественото нещо, което добавих е че случаят, в който всички хора са си намерили половинка. Т.е. случай в който да се изпише "Males left: none" + "Females left: none". Малък пропуск, за който не си се усетил.

Друго нещо, което не е важно за judge, но е правилна конвенция да се следва - имената на класовете се пишат в стил UpperCamelCase, а не lowerCamelCase. Т.е. е хубаво да си преименуваш класът от "datingApp" на "DatingApp".

Също така и леко се обърках при ползването на структурите за мъжете и жените - в началото в обратен ред обхождаш въведеното и пълниш структурите. В този код https://pastebin.com/DpVVqwKg съм направил за мъжете да се ползва стек, а за жените опашка. Двете колекции се различават по начина на добавяне на елемент. Стекът добавя новият елемент на първо място. А опашката на последно място. После начинът на вадене на елемент става по един и същи начин и от двете колекции - маха се първия елемент. В този случай това ще е последно добавения в стека и първоначално добавения в опашката. Иска се първата жена да се пробва с последния мъж. Това е била и твоята идея, но нещо си ги обърнал нещата. 

1
Val3ntinV avatar Val3ntinV 14 Точки

Много съм ти благодарен !!! Два дни мислих какво може да съм объркал ... Да за конвенцията си прав, а и за това объркване при стека и опашката , това ми беше първата изпитна задача и отначало нали малко трудничко... Благодаря !

1