Problemi 037
Kërkesa
Bëni një program i cili gjen nëse një listë me numra përfshihet si nënlistë në një listë tjetër.
Shembull
$ cat input.txt
4
6
1 2 3 4 5 6
3
2 3 4
6
22 5 6 33 1 4
2
4 15
6
22 5 6 33 1 4
2
1 4
6
22 5 6 33 1 4
2
4 1
$ python3 prog.py < input.txt
Yes
No
Yes
No
Zgjidhja 1
T = int(input())
for t in range(T):
n1 = int(input())
L1 = list(map(int, input().split()))
n2 = int(input())
L2 = list(map(int, input().split()))
i = 0
while i < n1-n2+1:
found = True
j = 0
while j < n2:
if L1[i+j] != L2[j]:
found = False
break
j += 1
if found:
break
i += 1
if found:
print("Yes")
else:
print("No")
Sqarime
Për çdo pozicion në listën e parë kontrollojmë nëse ndodhet aty lista e dytë. Nëse e gjejmë diku, e mbyllim ciklin sepse nuk është nevoja të kërkojmë më tej.
Zgjidhja 2
T = int(input())
for t in range(T):
n1 = int(input())
L1 = list(map(int, input().split()))
n2 = int(input())
L2 = list(map(int, input().split()))
for i in range(n1-n2+1):
for j in range(n2):
if L1[i+j] != L2[j]:
break
else:
print("Yes")
break
else:
print('No')
Sqarime
E ngjashme me zgjidhjen e parë, por e ndërtuar me for
, që e bën
programin më kompakt.
Detyra
Bëni një program i cili gjen nëse numrat e një liste përmbahen në një listë tjetër.
Referenca: https://www.codechef.com/problems/CHEFSQ
Shembull
$ cat input.txt
4
6
1 2 3 4 5 6
3
2 3 4
6
22 5 6 33 1 4
2
4 15
6
22 5 6 33 1 4
2
1 4
6
22 5 6 33 1 4
2
4 1
$ python3 prog.py < input.txt
Yes
No
Yes
Yes