关注
平衡数
考虑将数列逆序,得到的数列使用动态规划进行计算矩阵各个元素的值。使用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"
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你现在会用到哪些AI技能? #
6400次浏览 85人参与
# 蚂蚁求职进展汇总 #
123301次浏览 1163人参与
# 智慧芽求职进展汇总 #
1879次浏览 5人参与
# 秋招踩过的“雷”,希望你别再踩 #
85595次浏览 1088人参与
# 我对___祛魅了 #
132471次浏览 736人参与
# 大厂VS公务员你怎么选 #
28115次浏览 397人参与
# 平安产险科技校招 #
839次浏览 0人参与
# 你还有多少年退休? #
26920次浏览 192人参与
# 我的求职进度条 #
91854次浏览 1205人参与
# 实习在多还是在精 #
35270次浏览 243人参与
# 实习下班不想学习,正常吗? #
20393次浏览 174人参与
# 小马智行求职进展汇总 #
13730次浏览 50人参与
# 你的房租占工资的比例是多少? #
64998次浏览 799人参与
# 你见过哪些工贼行为 #
16889次浏览 91人参与
# 金蝶求职进展汇总 #
54074次浏览 263人参与
# 总结:哪家公司面试体验感最好 #
70341次浏览 416人参与
# 校招谈薪一定要知道的事 #
13583次浏览 118人参与
# 找工作中的小确幸 #
27517次浏览 281人参与
# 顺丰求职进展汇总 #
63578次浏览 314人参与
# 非技术岗投递进展 #
158111次浏览 1314人参与
# 反问环节如何提问 #
115572次浏览 2468人参与
# 你觉得材料多少算高薪 #
26288次浏览 159人参与