Skip to content
15 changes: 15 additions & 0 deletions December-01/diamond_necklace.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
t=list(map(str,input().split()))
n=len(t)
neck=dict()
for i in range(n):
t[i]=''.join(set( t[i]))
for j in range(len(t[i])):
if t[i][j] in neck :
neck[t[i][j]]+=1
else:
neck[t[i][j]]=1
hold=0
for x in neck.values():
if x==n:
hold+=1
print(hold)
12 changes: 12 additions & 0 deletions December-02/bingo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
n=int(input())
while n>9:
t=0
while n>0:
t=t+((n%10)*(n%10))
n=n//10
if t==1:
print("YES")
exit()
n=t
print("NO")

32 changes: 32 additions & 0 deletions December-03/lucky.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
n=int(input())
t=[]
for i in range(n):
t.append(list(map(str,input().split())))
x=input()
name=[ch for ch in x]
x=-1
y=-1
for k in range(n):
for l in range(n):
if t[k][l]==name[0]:
x=k
y=l
for j in range(1,len(name)):
if t[x+1][y]==name[j]:
x=x+1
elif t[x][y+1]==name[j]:
y=y+1
elif t[x+1][y+1]==name[j]:
x=x+1
y=y+1
elif t[x-1][y]==name[j]:
x=x-1
elif t[x][y-1]==name[j]:
y=y-1
elif t[x-1][y-1]==name[j]:
x=x-1
y=y-1
else:
print("NO")
exit()
print("YES")
9 changes: 9 additions & 0 deletions December-05/biscuit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
customers=list(map(int,input().split()))
biscuit=list(map(int,input().split()))

for i in range(len(biscuit)):
if biscuit[i] in customers:
customers.remove(biscuit[i])
else:
print(len(customers))
break
22 changes: 22 additions & 0 deletions December-06/templar.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
x=input()
war=[ch for ch in x]
u=[]
t=[]
for i in range(len(war)):
if war[i]=="U":
u.append(i)
else:
t.append(i)
side_u=sum(u)/len(war)
swap=0
if side_u<len(war):
for i in range(len(u)):
j=0
if u[i]>=len(u):
hold=u[i]
u[i]=t[j]
t[j]=hold
j+=1
swap+=1
print(swap)

16 changes: 16 additions & 0 deletions December-08/counter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
t=int(input())
if t==0:
print(0)
exit()
else:
d=0
hold=0
j=0
count=0
while t>d:
count+=1
hold=d
d=d+3*pow(2,j)
j+=1
print(3*pow(2,j-1)-(t-hold)+1)

27 changes: 27 additions & 0 deletions December-09/dream_11.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
n=int(input())
p=int(input())
ns=list(map(int,input().split()))
ns.sort(reverse=True)
tot=999
hold=-1
t=0
q=p

while q<=n:
c=0
for k in range(t+1,q):
c+=ns[k-1]-ns[k]
if c<tot:
tot=c
hold=q
q+=1
t+=1
final=0
# print(ns)
for j in range(hold-p,hold):
# print(ns[j])
final+=ns[hold-p]-ns[j]
print(final)



69 changes: 69 additions & 0 deletions December-10/orange.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
n=int(input())
farm=[]
for i in range(n):
farm.append(list(map(int,input().split())))

orange=0
x=0
y=0
last=0
i=0
j=0

# print(farm)

while(i<n and j<n):
# print(i,j)
if i+1<n and farm[i+1][j]==1:
x=i+1
i=x
farm[i][j]=0
orange+=1
elif j+1<n and farm[i][j+1]==1:
y=j+1
j=y
farm[i][j]=0
orange+=1
elif i+1<n and farm[i+1][j]==0:
x=i+1
i=x
elif j+1<n and farm[i][j+1]==0:
y=j+1
j=y

elif i==n-1 and j==n-1:
break
else:
last=-1
break
if last==-1:
print("last not reached")
print(orange)
exit()
else:
i=0
j=0
while(x>0 and y>0):
# print(x,y)
if x-1>=0 and farm[x-1][y]==1:
i=x-1
x=i
farm[x][y]=0
orange+=1
elif y-1>=0 and farm[x][y-1]==1:
j=y-1
y=j
farm[x][y]=0
orange+=1
elif x-1>=0 and farm[x-1][y]==0:
i=x-1
x=i
elif y-1>=0 and farm[x][y-1]==0:
j=y-1
y=j
else:
break
print(orange)



26 changes: 26 additions & 0 deletions December-12/cars.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
t=list(map(int,input().split()))
pc=[]
nc=[]
for i in range(len(t)):
if t[i]>0:
pc.append(t[i])
else:
nc.append(t[i])
pc.sort()
nc.sort()
t=[]
if len(pc)>len(nc):
for j in range(len(pc)):
if len(nc)==0:
for k in range(j,len(pc)):
t.append(pc[k])
break
if pc[j]>(nc[0]*-1):
t.append(pc[j])
nc.remove(nc[0])
elif pc[j]<(nc[0]*-1):
# print(pc[j],nc[0])
t.append(nc[j])
nc.remove(nc[0])

print(t)
22 changes: 22 additions & 0 deletions December-13/diamonds.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
x=int(input())
z=int(input())
diamonds=[]
clients=[]
for j in range(z):
clients.append(list(map(int,input().split())))

for i in range(x):
diamonds.append(list(map(int,input().split())))

sale=0
clients.sort()
diamonds.sort()

for i in range(z):
hold=-1
for j in range(hold+1,x):
if clients[i][0]>diamonds[j][0] and clients[i][1]<=diamonds[j][1]:
sale+=1
hold=j
break
print(sale)
32 changes: 32 additions & 0 deletions December-14/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
n=list(map(int,input().split()))
x=int(input())
sum=0
for i in range(len(n)):
sum+=n[i]
if sum%x==0:
hr=sum//x
else:
hr=(sum//x)+1
# print("hr=",hr)
hour=0
for j in range(len(n)):
if n[j]%hr==0:
hour+=n[j]/hr
else:
hour+=(n[j]//hr)+1

if hour==x:
print(hr)
exit()
else:
while(hour>x):
hr+=1
hour=0
for j in range(len(n)):
if n[j]%hr==0:
hour+=n[j]/hr
else:
hour+=(n[j]//hr)+1

print(hr)

46 changes: 46 additions & 0 deletions December-15/bracelet.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
br=list(map(int,input().split()))
n=int(input())

s=sum(br)
if s%n==0:
ef=s//n
else:
ef=(s//n)+1


round=1
t=0
for i in range(len(br)):
if t+br[i]>ef:
t=br[i]
round+=1
else:
t+=br[i]
# print(t,ef,round)
# round+=1
print(ef)
print(round,t)

if round==n:
print(ef)
exit()
else:
# print("o",round,n)
while(round>n):

ef+=1
# print(ef)
t=0
round=1
for i in range(len(br)):
if t+br[i]>ef:
t=br[i]
round+=1
else:
t+=br[i]
round+=1
# print(round,n)
break

print(ef)

23 changes: 23 additions & 0 deletions December-18/circuit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
n=int(input())
grid=[]
for i in range(n):
grid.append(list(map(int,input().split())))
x=-1
y=-1
for i in range(n):
for j in range(n):
if grid[i][j]==1:
if x==-1:
x=i
y=j
else:
if x>i:
s=x-i
else:
s=i-x
if y>j:
s+=y-j
else:
s+=j-y
print(s-1)

14 changes: 14 additions & 0 deletions December-19/course.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
num=int(input())
c=[]
a=[]
for i in range(num):
c.append(list(map(int,input().split())))
for i in range(2):
a.append(list(map(int,input().split())))
b=[]
for i in range(len(a)):
if a[i] in c:
b.append("true")
else:
b.append("false")
print(b)
Loading