第1关统计分数的麻烦

class Task:
def get_lost_scores(self, scores):
s = ""
index = [1 for i in range(10001)]
for i in scores:
index[i] = 0
for i in range(1,10001):
if(index[i] == 1):
s+=str(i)
ans = int(s) % 11
return ans if __name__ == '__main__':
task = Task
score = [2, 3, 5, 6, 7, 8, 9]
print(task.get_lost_scores(task, score))

第2关最强战队

#!/usr/bin/env python
# -*- coding: utf-8 -*-
class BestTeam:
def get_best_team(self, numbers, abilities, selectedNum, distance):
n = numbers
k = selectedNum
d = distance
res = 0
maxval = [([0] * 100) for i in range(50)]
minval = [([0] * 100) for i in range(50)]
for i in range(n):
minval[i][0] = abilities[i]
maxval[i][0] = abilities[i]
for i in range(n):
for j in range(1, k):
# for kk in range(i - 1, 0, -1):
kk = i - 1
while (kk >= max(i - d, 0)):
# print(kk)
maxval[i][j] = max(maxval[i][j],
max(maxval[kk][j - 1] * abilities[i], minval[kk][j - 1] * abilities[i]));
minval[i][j] = min(minval[i][j],
min(maxval[kk][j - 1] * abilities[i], minval[kk][j - 1] * abilities[i]));
kk -= 1
res = max(res, max(maxval[i][k - 1], minval[i][k - 1]));
return res if __name__ == '__main__':
bestTeam = BestTeam
numbers = 10
abilities = [12,11,8,9,15,22,7,9,12,10]
selectedNum = 3
distance = 5
print(bestTeam.get_best_team(bestTeam, numbers, abilities, selectedNum, distance))

第3关完美的团建活动

#!/usr/bin/env python
# -*- coding: utf-8 -*-
class TeamBuilding: def get_minium_steps(self, stones):
xx = 0
yy = 0
ans = 0
n = len(stones)
points = []
for i in range(n):
for j in range(n):
if stones[i][j] > 1:
points.append((stones[i][j], i, j))
points = sorted(points, key=lambda points: points[0]);
for nn, x, y in points:
mp = [([0] * n) for p in range(n)] ind = self.bfs(self, xx, yy, x, y, stones, mp, 0)
# print(ind)
if ind != -1:
ans += ind
else:
return -1
xx = x
yy = y
return ans def bfs(self, xx, yy, x, y, stones, mp, step):
if(xx == x and yy == y): return 0
mp[xx][yy] = 1
to = [[0, 1], [1, 0], [-1, 0], [0, -1]]
import queue
q = queue.Queue()
q.put((xx, yy, step))
while not q.empty():
tx, ty, stepp = q.get()
for i in range(4):
tox = tx + to[i][0]
toy = ty + to[i][1]
if self.judge(self, tox, toy, stones) and mp[tox][toy] != 1:
if tox == x and toy == y:
return stepp + 1
q.put((tox, toy, stepp + 1))
mp[tox][toy] = 1
return -1 def judge(self, x, y, stones):
l = len(stones)
w = len(stones[0])
if x < 0 or x >= l or y < 0 or y >= w:
return False
if stones[x][y] == 0:
return False
else:
return True if __name__ == '__main__':
t = TeamBuilding
stones = [[12,34,5,7,8,0],
[1,0,8,9,12,0],
[13,0,0,0,11,24],
[23,32,17,0,0,10],
[1,2,3,0,0,6],
[4,8,12,0,0,19]] # stones = [[2, 3, 4], [0, 0, 5], [8, 7, 6]]
print(t.get_minium_steps(t, stones))
# mp = [([0] * 3) for p in range(3)]
# print(t.bfs(t, 0, 0, 2, 0, stones,mp, 0))

全国高校绿色计算大赛 预赛第二阶段(Python)的更多相关文章

  1. 全国高校绿色计算大赛 预赛第二阶段(Python)第1关:统计分数的麻烦

    挑战任务 “绿盟杯”比赛过后,赛事承办方的各位工作人员们就开始分头统计各个参赛队伍和同学的成绩了.赛事规模很大,有10000个队伍参加.经过工作人员认真负责的统计,本来已经统计好了这一万个队伍的分数和 ...

  2. 全国高校绿色计算大赛 预赛第一阶段(Python)

    第1关将字符串反转 #!/usr/bin/env python # -*- coding: utf-8 -*- class Task: def inversion(self, str): # **** ...

  3. 全国高校绿色计算大赛 预赛第三阶段(Python)(随机数)

    只提交了随机数 (真心不会 T-T ) import csv import random import pandas as pd import numpy as np # 预测结果文件:src/ste ...

  4. 全国高校绿色计算大赛 预赛第一阶段(C++)第4关:计算日期

    挑战任务 我们吃的食物都有保质期,现在食品监督管理局想要制作一个能准确计算食品过期日期的小程序,需要请你来进行设计. 例如:A食品在2018年1月1日生产,保质期是20天,则它的过期日期在2018年1 ...

  5. 全国高校绿色计算大赛 预赛第一阶段(C++)第2关:扔桃子

    挑战任务 动物园有一只小猴子喜欢吃桃子,不过它有个很独特的习惯,每次都把找到的桃子分成相等的两份,吃掉一份,留一份.如果不能等分,小猴子就会丢掉一个然后再分.第二天再继续这个过程,直到最后剩一个桃子了 ...

  6. 全国高校绿色计算大赛 预赛第一阶段(C++)第3关:旋转数组

    挑战任务 在计算机中,一张数字图像,可以被看做是一个矩阵或者说数组. 学过线性代数的同学对矩阵肯定不陌生.一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height).而矩阵有着行(r ...

  7. 全国高校绿色计算大赛 预赛第一阶段(C++)第1关:将字符串反转

    挑战任务 将输入的字符串str进行反转. 编程要求 补全右侧vector<char> inversion(string str)函数实现字符串的反转并返回反转之后的字符串,其中函数参数st ...

  8. 绿色计算大赛决赛 第二阶段 消息传递(斯坦纳树 状压dp+spfa)

    传送门 Description 作为公司老板的你手下有N个员工,其中有M个特殊员工.现在,你有一个消息需要传递给你的特殊员工.因为你的公司业务非常紧张,所以你和员工之间以及员工之间传递消息会造成损失. ...

  9. 全国绿色计算大赛 模拟赛第二阶段 (Python)

    第1关气温预测 def dailyTemps(temp_list): result = [] for ca in range(0, len(temp_list)-1): for i in range( ...

随机推荐

  1. [App Store Connect帮助]七、在 App Store 上发行(3.3)提交至“App 审核”:解决 App 拒绝问题

    如果“App 审核”或“Beta 版 App 审核”拒绝了您的 App,您可以与 Apple 沟通并在解决方案中心中解决问题. 来自 Apple 的通讯信息包含有关 App 拒绝的信息,其中包括该 A ...

  2. 数字货币期货与现货JavaScript量化策略代码详解汇总

    1.动态平衡策略 按照当前的 BTC 的价值,账户余额保留¥5000 现金和 0.1个 BTC,即现金和BTC 市值的初始比例是 1:1. 如果 BTC 的价格上涨至¥6000,即 BTC 市值大于账 ...

  3. Jmeter常见问题汇总(不断更新ing)

    1.测试计划中有多个线程组执行时,为了防止线程组间的相互干扰,需要如下设置一下:     2,接口测试中的上传字段为汉字时需要进行什么形式的转码? 方法一:需要把编码复选框勾选,才能正常通过接口查询数 ...

  4. SQL 初级教程学习(四)

    1. union,union all SELECT E_Name FROM Employees_ChinaUNIONSELECT E_Name FROM Employees_USA 默认地,UNION ...

  5. Bootstrap简介及安装使用

    Bootstrap 简介 什么是 Bootstrap? Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的 ...

  6. 51nod 1133 不重叠的线段(贪心)

    1133 不重叠的线段  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠 ...

  7. 利用autotools工具制作从源代码安装的软件 分类: linux 2014-06-02 23:27 340人阅读 评论(0) 收藏

    编写程序(helloworld.c)并将其放到一个单独目录. helloworld.c: #include<stdio.h> int main() { printf("hello ...

  8. iOS 集成银联支付(绕过文档的坑,快速集成)-转

    本文是投稿文章,作者:南栀倾寒当初集成支付宝的时候,觉得见了这么丑的代码,加上这么难找的下载地址,在配上几乎为零的文档,寒哥就要吐血了. 下午去集成银联,才知道血吐的早了. 下载地址:https:// ...

  9. hdu 1695 GCD 欧拉函数 + 容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=1695 要求[L1, R1]和[L2, R2]中GCD是K的个数.那么只需要求[L1, R1 / K]  和 [L ...

  10. Codeforces Beta Round #98 (Div. 2)(A-E)

    A #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> ...