第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. Ajax跨域访问等问题

    前端时间公司接口整顿,所有接口放一起了,然后我就写了一大堆API接口....... 今天用上了,公用人员库,前台通过ajax访问, 先是以‘json’作为数据格式进行访问,直接response fie ...

  2. java中static,super,final关键字辨析

    1:static关键字 利:1)对对象的共享数据提供单独的空间存储. 2)修饰的方法可以直接被类名调用 弊:1)生命周期长. 2)访问出现限制(只能访问静态) 它可以有静态方法,静态类,静态变量 2: ...

  3. Linux 常用命令四 rmdir rm

    一.rmdir命令 用于删除空目录: wang@wang:~/workpalce/python$ tree . ├── .txt ├── .txt ├── .txt ├── A │   └── B │ ...

  4. python 面向对象五 获取对象信息 type isinstance getattr setattr hasattr

    一.type()函数 判断基本数据类型可以直接写int,str等: >>> class Animal(object): ... pass ... >>> type( ...

  5. centos 7添加快捷键

    转自:http://www.cnblogs.com/flying607/p/5730867.html centos7中不自带启动终端的快捷键,可以自定义添加. 点击右上角的用户名,点击设置,在设置面板 ...

  6. linux下创建用户及组

    linux下创建用户及组: 1.创建组 groupadd  组名 2.创建用户,并将用户添加到组 useradd  用户名  -g  组名 3.更改用户的密码 password  用户名 4.修改目录 ...

  7. SpringCloud开发学习总结(五)—— 服务容错保护Hystrix

    在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式相互依赖.但由于每个单元都在不同的进程中运行,一来通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身 ...

  8. 关于JTable的使用

    JTable是个JavaSwing中的表格控件,可以用来显示数据和编辑数据.这里讲一下我的使用心得. JavaSwing讲究MVC理念,而这个JTable也可以说是个迷你的MVC模型.JTable只是 ...

  9. 179 Largest Number 把数组排成最大的数

    给定一个非负整数的列表,重新排列它们的顺序把他们组成一个最大的整数.例如,给定 [3, 30, 34, 5, 9],最大的组成数是 9534330.注意: 结果可能非常大,所以您需要返回一个字符串而不 ...

  10. [BZOJ1046][HAOI2007]上升序列 DP+贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1046 我们先求出对于每一个数字作为开头的LCS的长度f[i],最长的f[i]为mxlen. ...