1108
str = input()
numS = str.count("S")
numt = str.count("t")
numr = str.count("r")
numi = str.count("i")
numn = str.count("n")
numg = str.count("g")
while numS or numt or numr or numi or numn or numg :
if numS:
print("S",end="")
numS-=1
if numt:
print("t",end="")
numt-=1
if numr:
print("r",end="")
numr-=1
if numi:
print("i",end="")
numi-=1
if numn:
print("n",end="")
numn-=1
if numg:
print("g",end="")
numg-=1
# print("\n")
1107
n,m = [int(i) for i in input().split()]
res = []
for i in range(n):
ls = [int(i) for i in input().split()]
res.append(max(ls))
print(res[0],end="")
for i in res[1:]:
print(" %d"%i,end="")
print()
print(max(res))
1106
n = int(input())
res = [2,0,1,9]
if n <= 4 :
res = [str(i) for i in res]
print("".join(res[0:n]))
else:
n -= 4
while n > 0:
res.append(sum(res[-4:])%10)
n-=1
res = [str(i) for i in res]
print("".join(res))
1104,最后一个测试会超时,python感觉就是过不了。用C++写吧
import math
def gcd(a,b):
c = a%b
while c:
a = b
b = c
c = a%b
return b
vis = [0]*100
prime = []
cnt = 0
for i in range(2,100):
if vis[i] == 0:
prime.append(i)
cnt+=1
j = 0
while j < cnt and i * prime[j] < 100:
vis[i*prime[j]] = 1
if i % prime[j] == 0: break
j+=1
def cal(num):
res = 0
while num:
res += num%10
num = int(num/10)
return res
N = int(input())
for p in range(1,N+1):
k,m = [int(i) for i in input().split()]
resA = []
A = 10 ** (k-1)
for i in range(A+99,A*10,100):
if cal(i) == m:
n = cal(i+1)
pos = gcd(m,n)
if pos > 2 and vis[pos] == 0:
resA.append((n,i))
resA.sort()
if (len(resA)>0):
print("Case %d"%p)
for i in resA:
print("%d %d"%i)
else:
print("Case %d"%p)
print("No Solution")
1103 最后一个测试中1,1不是有缘数
m,n = [int(i) for i in input().split()]
sqr = [1]
pf = [1]
sqnum = 6
pfnum = 4
for i in range(25001):
sqr.append(sqr[i]+sqnum)
pf.append(pf[i]+pfnum)
sqnum += 6
pfnum += 4
flag = 0
for i in pf[1:]:
if i*i > sqr[n]: break
if i*i in sqr[m-1:n]:
flag =1
print(sqr.index(i*i)+1,pf.index(i)+1)
if flag == 0: print("No Solution")
1102
n = int(input())
sale = []
price = []
for i in range(n):
ls = input().split()
sale.append((int(ls[2]),ls[0]))
price.append((int(ls[1])*int(ls[2]),ls[0]))
sale.sort()
price.sort()
print("%s %d"%(sale[-1][1],sale[-1][0]))
print("%s %d"%(price[-1][1],price[-1][0]))
1101
a,b = input().split()
p = len(a)-int(b)
c = a[p:] + a[:p]
print("%.2f"%(int(c)/int(a)))
1100 python3.7以上的dict.has_key(item)变成dict.__contains__(item)字典的
n = int(input())
xls = {}
clss = []
res = []
ymd = 99999999
ymd2 = 99999999
for i in range(n):
k = input()
xls[k] = 1
m = int(input())
cnt = 0
for i in range(m):
c = input()
if int(c[6:14]) < ymd2:
ymd2 = int(c[6:14])
ma2 = c
if xls.__contains__(c):
cnt+=1
if int(c[6:14]) < ymd:
ymd = int(c[6:14])
ma = c
if cnt:
print(cnt)
print(ma)
else:
print(0)
print(ma2)
1099 要单独考虑小于10的和大于100000000的情况
import math
def prime(num):
for i in range(2,int(math.sqrt(num))+1):
if num%i == 0:
return False
return True
n = int(input())
if n == 7 or n == 5:
print("Yes")
print(n+6)
elif n < 5:
print("No")
print(5)
elif n < 8:
print("No")
print(7)
elif prime(n) and prime(n-6):
print("Yes")
print(n-6)
elif prime(n) and prime(n+6):
print("Yes")
print(n+6)
else:
for i in range(n+1,110000001):
if prime(i) and prime(i-6):
print("No")
print(i)
break
elif prime(i) and prime(i+6):
print("No")
print(i)
break
1098
n = int(input())
h1 = [int(i) for i in input().split()]
up = min(h1)
h2 = [int(i) for i in input().split()]
down = max(h2)
if up > down:
print("Yes {}".format(up-down))
else: print("No {}".format(down-up+1))