Problemi 052
Kërkesa
Jepen disa shkopinj me gjatësi të përcaktuara. Gjeni sipërfaqen e drejtkëndëshit më të madh që mund të formohet me këta shkopinj, ose printoni -1 nëse asnjë drejtkëndësh nuk mund të formohet.
Referenca: https://www.codechef.com/problems/STICKS
Shembull
$ cat input.txt
2
5
1 2 3 1 2
4
1 2 2 3
$ python3 prog.py < input.txt
2
-1
Në rastin e parë mund të formohet një drejtkëndësh me brinjë 1 dhe 2. Në rastin e dytë asnjë drejtkëndësh nuk mund të formohet.
Zgjidhja
T = int(input())
for t in range(T):
n = int(input())
L = list(map(int, input().split()))
L.sort(reverse=True)
a = 0
i = 0
while i < n-1:
if L[i] == L[i+1]:
if a > 0:
b = L[i]
print(a*b)
break
else:
a = L[i]
i += 2
else:
i += 1
else:
print(-1)
Sqarime
Duam të gjejmë 4 brinjë 2 e nga dy të barabarta, me gjatësi
maksimale. Për ta lehtësuar këtë i rendisim shkopinjtë në rendin
zbritës dhe fillojmë kontrollin. Kur gjejmë çiftin e parë të
barabartë e ruajmë gjatësinë e tyre te ndryshorja a
. Kur gjejmë
çiftin tjetër printojmë direkt sipërfaqen dhe e mbyllim ciklin e
kërkimit (me break
). Normalisht kjo duhet të ndodhë para se të
arrijmë në fund të kërkimit, por nqs arrijmë deri në fund të kërkimit
dhe nuk kemi gjetur gjë akoma, atere printojmë -1.
Detyra
Shefi ka gjetur një libër me receta gatimesh, ku çdo gatim ka 4 përbërës. Ai do zgjedh 2 receta për ti gatuar për drekë, por dëshiron që këto dy gatime të mos jenë të ngjashme. Dy gatime quhen të ngjashme nëse kanë 2 ose më shumë përbërës të njëjtë.
Bëni një program që merr përbërësit e dy gatimeve dhe gjen nëse janë të ngjashme ose jo.
Referenca: https://www.codechef.com/problems/SIMDISH
Shembull
$ cat input.txt
5
eggs sugar flour salt
sugar eggs milk flour
aa ab ac ad
ac ad ae af
cookies sugar grass lemon
lemon meat chili wood
one two three four
one two three four
gibberish jibberish lalalalala popopopopo
jibberisz gibberisz popopopopu lalalalalu
$ python3 prog.py < input.txt
similar
similar
dissimilar
similar
dissimilar