关注
平衡数
考虑将数列逆序,得到的数列使用动态规划进行计算矩阵各个元素的值。使用dp[i][j]代表从第i个位置的数字到第j个位置数字的乘积,然后对两个数列分别进行从前向后以及从后向前的对比,若存在相等的比较,则可以判断为平衡数。
def dp():
num = sys.stdin.readline().strip()
if len(num)==0:
print
print "YES"
return
#prod = 1
dp = [[0 for i in range(len(num))] for j in range(len(num))]
rdp = deepcopy(dp)
rdp = deepcopy(dp)
for i in range(len(num)):
dp[i][i] = int(
dp[i][i] = int(num[i])
rdp[i][i] = int(
rdp[i][i] = int(num[len(num)-1-i])
#prod = prod*int(num[i])
rnum = num[::-1]
for k in range(len(num)):
for j in xrange(k+1,len(num)):
dp[k][j] = dp[k][j-
dp[k][j] = dp[k][j-1]*int(num[j])
for k in range(len(num)):
for j in xrange(k+1,len(num)):
rdp[k][j] = rdp[k][j-
rdp[k][j] = rdp[k][j-1]*int(rnum[j])
#if dp[k][j]*dp[k][j]==prod:
for j in xrange(1,len(num)):
if dp[0][j]==rdp[0][len(num)-2-j] and len(num)-2-j>=0:
print
print "YES"
return
if j==len(num)-1:
print
print "NO"
查看原帖
点赞 评论
相关推荐
04-20 19:47
东华理工大学 Web前端 点赞 评论 收藏
分享
04-09 14:12
浙江工业大学之江学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届春招投递记录 #
20072次浏览 144人参与
# 你遇到过哪些神仙同事 #
145380次浏览 769人参与
# 我的求职总结 #
491811次浏览 6903人参与
# 拼多多工作体验 #
63618次浏览 442人参与
# 27届实习投递记录 #
91478次浏览 954人参与
# 我是XXX,请攻击我最薄弱的地方 #
99363次浏览 650人参与
# 美团秋招笔试 #
219569次浏览 1198人参与
# 牛油的搬砖plog #
208647次浏览 1339人参与
# 产品实习,你更倾向大公司or小公司 #
230446次浏览 2152人参与
# 职场吐槽大会 #
362214次浏览 2308人参与
# 什么专业适合考公 #
74158次浏览 498人参与
# Vibe Coding 会干掉初级岗位吗? #
52834次浏览 337人参与
# AI Coding实战技巧 #
32560次浏览 402人参与
# 找工作,行业重要还是岗位重要? #
105473次浏览 1852人参与
# 蚂蚁求职进展汇总 #
176453次浏览 1299人参与
# 25届网易互娱暑实进度 #
110537次浏览 806人参与
# 小厂实习有必要去吗 #
95708次浏览 455人参与
# 你认为工作的意义是什么 #
289441次浏览 1583人参与
# 实习转正进行时 #
198412次浏览 1172人参与
# AI让海力士市值突破9000亿美元 #
10728次浏览 132人参与
