夏昊昊


私信TA

用户名:dotcpp0595835

访问量:182

签 名:

吃得苦中苦,方为人上人。

等  级
排  名 4177
经  验 1748
参赛次数 0
文章发表 1
年  龄 19
在职情况 学生
学  校 长江大学
专  业 机器人

  自我简介:

TA的其他文章

解题思路:
用序列放置各个位上的数字再进行判断
注意事项:
有没有大佬帮忙优化一下,时间有点超限
参考代码:

N=int(input())

K=int(input())

a=[1]*(N)

for i in range(1,N):

    a[i]=0

x=N-1

num=0

f='true'

sum=(K-1)*pow(K,N-1)

for j in range(sum):

    for i in range(N-1):

        if a[i]==0 and a[i+1]==0:

            f='flase'

    if f=='true':

        num+=1

    a[x]+=1

    while a[x]==K:

        a[x-1]+=1

        a[x]=0

        x-=1

    f='true'

    x=N-1

print(num)

    


 

0.0分

1 人评分

  评论区

  • «
  • »