全国绿色计算大赛 模拟赛第二阶段 (Python)
第1关气温预测
def dailyTemps(temp_list):
result = []
for ca in range(0, len(temp_list)-1):
for i in range(ca + 1, len(temp_list)):
ind = temp_list[ca]
flag = 0
if (temp_list[i] > ind):
result.append(i - ca)
flag = 1
break
if (flag == 0):
result.append(0)
result.append(0)
return result
if __name__ == '__main__':
temp_list = [1,3,2]
print(dailyTemps(temp_list))
第2关折纸小游戏
def paperFolding(paper_info):
length = paper_info[0]
width = paper_info[1]
result = []
edge = hcf(length, width)
result.append(edge)
result.append(int(length*width/(edge*edge)))
return result
def hcf(x, y):
if x > y:
smaller = y
else:
smaller = x
for i in range(1, smaller + 1):
if ((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
if __name__ == '__main__':
paper_info = [7, 3]
print(paperFolding(paper_info))
第3关渡口与船
def countOfShips(ferry):
result = 0
mp = [([0] * len(ferry[0])) for p in range(len(ferry))]
for i in range(len(ferry)):
for j in range(len(ferry[0])):
if (ferry[i][j] == "+"):
result += 1
if (judge(i + 1, j, ferry) or (judge(i - 1, j, ferry)) or (judge(i, j + 1, ferry)) or (judge(i, j - 1, ferry))):
if (judges(i + 1, j, mp) or (judges(i - 1, j, mp)) or (judges(i, j + 1, mp)) or (judges(i, j - 1, mp))):
result -= 1
mp[i][j] = 1
return result
def judge(x, y, ferry):
l = len(ferry)
w = len(ferry[0])
if (x < 0 or x >= l or y < 0 or y >= w): return False
if (ferry[x][y] == "+"):
return True;
else:
return False;
def judges(x, y, mp):
l = len(mp)
w = len(mp[0])
if (x < 0 or x >= l or y < 0 or y >= w): return False
if (mp[x][y] == 1):
return True;
else:
return False;
if __name__ == '__main__':
ferry = [
["+", "o", "o", "+", "o"],
["o", "o", "o", "o", "+"],
["o", "+", "o", "o", "+"],
["o", "+", "o", "o", "+"]
]
print(countOfShips(ferry))
全国绿色计算大赛 模拟赛第二阶段 (Python)的更多相关文章
- 全国绿色计算大赛 模拟赛第一阶段(Python)
第1关求和 class Task: def getSum(self, num1, num2): sum = 0 for i in range(num1, num2 + 1): while (i != ...
- 全国绿色计算大赛 模拟赛第一阶段(C++)第1关:求和
挑战任务 这次“绿盟杯”大赛,小明作为参赛选手在练习的时候遇到一个问题,他要对一个范围的两个数进行数位的累加,例如有两个数 15,19 则 他们的数位和应该为:1+5+1+6+1+7+1+8+1+9, ...
- 全国高校绿色计算大赛 预赛第二阶段(Python)第1关:统计分数的麻烦
挑战任务 “绿盟杯”比赛过后,赛事承办方的各位工作人员们就开始分头统计各个参赛队伍和同学的成绩了.赛事规模很大,有10000个队伍参加.经过工作人员认真负责的统计,本来已经统计好了这一万个队伍的分数和 ...
- 全国高校绿色计算大赛 预赛第二阶段(Python)
第1关统计分数的麻烦 class Task: def get_lost_scores(self, scores): s = "" index = [1 for i in range ...
- 全国高校绿色计算大赛 预赛第一阶段(Python)
第1关将字符串反转 #!/usr/bin/env python # -*- coding: utf-8 -*- class Task: def inversion(self, str): # **** ...
- 全国高校绿色计算大赛 预赛第三阶段(Python)(随机数)
只提交了随机数 (真心不会 T-T ) import csv import random import pandas as pd import numpy as np # 预测结果文件:src/ste ...
- 全国高校绿色计算大赛 预赛第一阶段(C++)第4关:计算日期
挑战任务 我们吃的食物都有保质期,现在食品监督管理局想要制作一个能准确计算食品过期日期的小程序,需要请你来进行设计. 例如:A食品在2018年1月1日生产,保质期是20天,则它的过期日期在2018年1 ...
- 全国高校绿色计算大赛 预赛第一阶段(C++)第2关:扔桃子
挑战任务 动物园有一只小猴子喜欢吃桃子,不过它有个很独特的习惯,每次都把找到的桃子分成相等的两份,吃掉一份,留一份.如果不能等分,小猴子就会丢掉一个然后再分.第二天再继续这个过程,直到最后剩一个桃子了 ...
- 绿色计算大赛决赛 第二阶段 消息传递(斯坦纳树 状压dp+spfa)
传送门 Description 作为公司老板的你手下有N个员工,其中有M个特殊员工.现在,你有一个消息需要传递给你的特殊员工.因为你的公司业务非常紧张,所以你和员工之间以及员工之间传递消息会造成损失. ...
随机推荐
- Python2.7 Queue模块学习
前面了解了一下threading,发现一般都是和queue模块配合使用的,queue产生一个队列,队列模式有3种,针对这三种队列分别有三个构造函数: 1 FIFO队列先进先出:class Queue. ...
- bzoj 5281: [Usaco2018 Open]Talent Show【dp】
注意到sum_t比较小,所以设f[i][j]为选前i头牛,当前sum_t为j的最小sum_w值,转移是f[i][j]=min(f[i-1][j],f[i-1][j-t[i]]+w[i]),然后i维用滚 ...
- 【API】反转输入字符(Java)
请求输入字符, 输出反转. import java.util.Scanner; public class T01 { public static void main(String[] args) { ...
- ppt自动制作器
讲一篇论文导入进入,自动生成该论文的展示ppt,啧啧啧,想想岂不是很美妙
- [POI2009]石子游戏Kam
Description 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏 ...
- 配置Ubuntu16.04第02步:更改镜像源,更新系统
Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换到国内比较好的快速更新源(就是这些软件所在的服务器),一般直接百度Ubuntu更新源就能出来一大堆,这时候最好是找和自己 ...
- 1043 幸运号码 数位DP
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1043 设dp[i][j]表示前i位数中,i位数的和为j时的所有情况. 转 ...
- rhel7安装oracle 11gR2
一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/lim ...
- window.form增删改查
效果展示: 查询: 可以查询姓名:民族:姓名+民族:都是空的查询全部 取值取得是姓名: 删除: 修改: 先选中查询之后修改: 添加: 代码部分: 第一张表: 第二张表:主表,民族代码加名称 natio ...
- AJPFX:如何保证对象唯一性呢?
思想: 1,不让其他程序创建该类对象. 2,在本类中创建一个本类对象. 3,对外提供方法,让其他程序获取这个对象. 步骤: 1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有化,其他程序 ...