intainer7
BAN USERmas=[]
mas1=[]
def fnext(sm,index):
if index+1<len(sm):
if sm[index+1]-sm[index]==1:
mas.append(sm[index+1])
mas1.append(sm[index+1])
fnext(sm,index+1)
return mas
def find(sm):
global mas
cm=[]
potential_el=0
for i in range(len(sm)):
if sm[i] not in mas1:
mas.append(sm[i])
mas1.append(sm[i])
fnext(sm,i)
cm.append(mas)
mas=[]
else:
continue
return(cm)
def printing(cm):
cmf=[]
st=""
for i in cm:
st+=str(i[0])
if len(i)<2:
cmf.append(st)
if len(i)>1:
st+="-"+str(i[-1])
cmf.append(st)
st=st.replace(st,"")
return cmf
print(printing(find([1,2,3,10,25,26,30,31,32,33])))
output:
['1-3', '10', '25-26', '30-33']
python
wm=["00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"0000000000000000000X000000000000000",
"000000000000000000XXX00000000000000",
"000XX000000000000000000000000000000",
"000XXXX0000000000000000000000000000",
"0000000X000000000000000000000000000",
"00000000000000000000000000000000000",
"000000000000000000000X0000000000000",
"00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"00000000000000000000000000000000000",
"000000000000000000000XXX00000000000",
"00000000000000X000000X0000000000000",
"00000000000000000000000000000000000"]
land=[]
def get_the_whole_island(world_map,li,lj):
global land
potential_land=[]
if li>0:
potential_land.append([world_map[li-1][lj],li-1,lj])
if lj>0:
potential_land.append([world_map[li][lj-1],li,lj-1])
if lj+1<=len(world_map[li])-1:
potential_land.append([world_map[li][lj+1],li,lj+1])
if li+1<=len(world_map)-1:
potential_land.append([world_map[li+1][lj],li+1,lj])
for i in (potential_land):
if i in land:
continue
else:
if i[0]=="X" and i not in land:
land.append(i)
get_the_whole_island(world_map,i[1],i[2])
return 0
def search(wm):
s=0
for i in range(len(wm)):
for j in range(len(wm[i])):
if wm[i][j]=="X" and [wm[i][j],i,j] not in land:
land.append([wm[i][j],i,j])
get_the_whole_island(wm,i,j)
s+=1
return s
print(search(wm))
output:
6
Solution:
string=input()
def recognization(string):
characters=dict()
i=0
for i in range(len(string)):
if string[i] not in characters:
characters[string[i]]=1
else:
characters[string[i]]+=1
return characters
mascharacter=recognization(string)
masch=[]
for i,j in mascharacter.items():
masch.append([j,i])
print(masch)
def canwerearrange(characters):
mas=[]
answer=""
for i in characters.values():
mas.append(int(i))
mas=sorted(mas)
s=0
for i in range(len(mas)-1):
s+=mas[i]
if mas[len(mas)-1]-s>1:
answer+="no"
else:
answer+="yes"
return answer
def sort(ch):
mas=[]
mas1=[]
for j in range(len(ch)-1):
for i in range(len(ch)-1):
if ch[i][0]<ch[i+1][0]:
mas.append(ch[i+1][0])
ch[i+1][0]=ch[i][0]
ch[i][0]=mas[0]
mas1.append(ch[i+1][1])
ch[i+1][1]=ch[i][1]
ch[i][1]=mas1[0]
mas=[]
mas1=[]
return ch
def rearrange(string,answer,ch):
rearstring=""
s=0
i=0
if answer!="no":
for i in range(len(string)):
if i>0 and ch[s][1]!=rearstring[i-1]:
if ch[s][0]>0:
rearstring+=ch[s][1]
ch[s][0]-=1
ch=sort(ch)
elif i==0:
if ch[s][0]>0:
rearstring+=ch[s][1]
ch[s][0]-=1
ch=sort(ch)
elif i>0 and ch[s][1]==rearstring[i-1]:
s+=1
if ch[s][0]>0 :
rearstring+=ch[s][1]
ch[s][0]-=1
s-=1
ch=sort(ch)
else:
print("No valid output")
return(rearstring)
print(rearrange(string,canwerearrange(recognization(string)),sort(masch)))
input:
aaaaaaabbbbccc
output
ababacacababac
def division(number,primediv):
a=0
nondiv=0
s=0
quotient=0
b=number
while quotient!=1:
for i in primediv:
a=number%i
if number/i==1:
nondiv=0
s=number
quotient=1
if a==0:
nondiv=0
number=number/i
break
else:
nondiv+=1
if nondiv==len(primediv):
b=0
quotient=1
return b
def prime_expressible(n,primeset):
mas=[]
numb=1
while len(mas)<n:
if division(numb,primeset)!=0:
mas.append(numb)
numb+=1
print(mas)
return(mas[len(mas)-1])
print(prime_expressible(73,[2, 3, 5, 7]))
output:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, 28, 30, 32, 35, 36, 40, 42, 45, 48, 49, 50, 54, 56, 60, 63, 64, 70, 72, 75, 80, 81, 84, 90, 96, 98, 100, 105, 108, 112, 120, 125, 126, 128, 135, 140, 144, 147, 150, 160, 162, 168, 175, 180, 189, 192, 196, 200, 210, 216, 224, 225, 240, 243, 245]
245
output:
- intainer7 November 14, 2015