第十五届浙江大学宁波理工学院程序设计大赛 python

本文介绍了第十五届浙江大学宁波理工学院程序设计大赛中涉及的Python编程题目,包括A到K共11道题目。文章提到了部分题目的难点和解决思路,如Fibonacci and Counting的等差数列求和,Build Pylons的疲劳值计算,以及Technology Tree的前置建筑关系处理。尽管有些题目导致了超时,但作者分享了简化问题和优化算法的过程。

第十五届浙江大学宁波理工学院程序设计大赛

星际争霸的世界

A StarCraft

A
在这里插入图片描述
在这里插入图片描述
。。。。。。

x=int(input())
print(x+1998)

B Fibonacci and Counting

B
在这里插入图片描述
诚恳的讲,我题目都没看过,但是属于还好做的范畴,谁知 有个小机灵,发现了输出都是输入加一…
然后 哇哦~
在这里插入图片描述

for _ in range(int(input())):
    n=int(input())
    print(n+1)

抱歉,是我的不负责,没去搞懂具体思路阿巴阿巴就过了!
但真香

D Campaign

题目
问题

E Build Pylons

E
在这里插入图片描述
这题,还好是中文题。
题目描述主要是大概背景,玩过游戏大概看一下,没玩过,就加油 主要部分是他的第一个样例以及说明
在这里插入图片描述
就,解释,就大概是,建塔就算最后一个的时间(就加一次),然后都是农民移动的时间,移到一个地方,那个地方要建塔疲劳值清零,不建塔疲劳值加一
将就看吧~
重点: 连续移动,在疲劳时相加时,移动时间是,1,,3,5,7,9…
看出点什么没?
这是个等差数列,所以只要知道连续移动的路有多少就差不多了
PS 这里疲惫值从0开始,数列第一项是1,然后,改一下成 2n-1
求和就是n2
understand?

for _ in range(int(input())):
    n,k=map(int,input().split())
    an=list(map(int,input().split()))
    an.sort()
    t=0
    for i in range(n-1):
        c=an[i+1]-an[i]
        t+=c*c
    print(t+k)

H Protoss and Zerg

H
这题我很抱歉 我已经化简到我觉得的最简,但是任然运行超时,C++同样的思路就是过的,所以 有兴趣康个思路,没兴趣这东东好像是自己看的
在这里插入图片描述

在这里插入图片描述
这题我感觉还是看说明,就是 给出的两个数,分别算出每组的各种出兵方案,再相乘,算出总出兵方案。
思路 一个数的出兵方案就是排列组合
在这里插入图片描述
就这样~

import math
m=998244353
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值