Skip to content

Instantly share code, notes, and snippets.

@harshpanchal-hp
Created May 3, 2018 07:09
Show Gist options
  • Save harshpanchal-hp/93635f720df37802829999b7824599f7 to your computer and use it in GitHub Desktop.
Save harshpanchal-hp/93635f720df37802829999b7824599f7 to your computer and use it in GitHub Desktop.
Heallify
def moist():
N = int(input())
names = [ input() for x in range(N)]
mov = 0
for i in range(1,N):
if names[i-1] > names[i]:
names[i-1], names[i] = names[i], names[i-1]
mov += 1
return mov
for case in range(int(input())):
print('Case #%d: %s' % (case+1, moist()))
def wd(word):
ls = len(word)
if ls == 1:
return 1
res = 1
for i in range(ls):
choose = set([word[i]])
if i - 1 >= 0:
choose.add(word[i - 1])
if i + 1 < ls:
choose.add(word[i + 1])
res *= len(choose)
return res % 1000000007
num_case = int(input())
for index in range(num_case):
word = input()
print ("Case #%d: %d" % (index + 1, wd(word)))
def operation(blist,cc):
m=max(blist)
s=min(blist)
diff=m-s
if blist.count(m)==1:
if diff>=5:
for k in range(len(blist)):
if blist[k]!=m:
blist[k]=blist[k]+5
elif diff>1:
for k in range(len(blist)):
if blist[k]!=m:
blist[k]=blist[k]+2
else:
for k in range(len(blist)):
if blist[k]!=m:
blist[k]=blist[k]+1
else:
inx=blist.index(m)
if diff>=5:
for k in range(len(blist)):
if k!=inx:
blist[k]=blist[k]+5
elif diff>1:
for k in range(len(blist)):
if k!=inx:
blist[k]=blist[k]+2
else:
for k in range(len(blist)):
if k!=inx:
blist[k]=blist[k]+1
cc=cc+1
if isEqual(blist):
print(cc)
else:
operation(blist,cc)
def isEqual(blist):
eq=blist[0]
for c in blist:
if eq!=c:
return False
return True
t=int(input())
for v in range(t):
n=input()
count=0
beginChoc=[]
a=input().strip().split(' ')
for i in a:
beginChoc.append(int(i))
operation(beginChoc,count)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment