社区讨论
Python求助
P1015[NOIP 1999 普及组] 回文数参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo1cakyd
- 此快照首次捕获于
- 2023/10/22 18:42 2 年前
- 此快照最后确认于
- 2023/11/02 19:03 2 年前
四个测试点在Pycharm上都运行正确,但是放到洛谷上变成#1 WA,#234 RE。。。
以下是拙劣的代码:
PYTHON# 75分,RE
# 当前代码0分,WA+RE
def ords(s):
if 48 <= ord(s) <= 57:
return int(s)
else:
return ord(s)-55
def chrs(x):
if 0 <= x <= 9:
return str(x)
else:
return chr(x+55)
n = int(input())
m = input()
ans = 0
possible = False
for i in range(30):
length = len(m)
ans += 1
addition1 = list(m)
addition2 = list(m)
addition2.reverse()
sums = []
for j in range(length+1):
sums.append(0)
for j in range(length):
item = length-j
sums[item] += (ords(addition1[item-1])+ords(addition2[item-1]))
if sums[item] >= n:
sums[item] -= n
sums[item-1] += 1
for j in range(length+1):
sums[j] = chrs(sums[j])
a = list(sums)
b = sums
b.reverse()
addition = ''
if a[0] == '0':
del a[0]
del b[length]
length -= 1
for j in range(length+1):
addition += a[j]
a = addition
addition = ''
for j in range(length+1):
addition += b[j]
b = addition
if a == b:
possible = True
break
m = a
if possible:
print('STEP=%d' % ans)
else:
print('Impossible!')
Python用习惯了所以不太会写高精,多多见谅哈
回复
共 2 条回复,欢迎继续交流。
正在加载回复...