技术标签: 算法
https://www.icourse163.org/learn/PKU-1001894005?tid=1450413466#/learn/content
程序设计与算法(二)算法基础
# 2810:完美立方
# http://bailian.openjudge.cn/practice/2810/
# b<=c<=d
inputNum = input()
# 2,...,int(inputNum)
for a in range(2, int(inputNum) + 1):
for b in range(2, a):
for c in range(b, a):
for d in range(c, a):
if a*a*a == b*b*b + c*c*c + d*d*d:
print("Cube = %d, Triple = (%d,%d,%d)" % (a, b, c, d))
# 4148:生理周期
# http://bailian.openjudge.cn/practice/4148
count = 1
while True:
p, e, i, d = [int(s) for s in input().split()]
if d == -1:
break
#第一次高峰出现的时间
p = p % 23
e = e % 28
i = i % 33
# print(p, e, i)
# 所求的时间<=21252
for day in range(i, d + 21252 + 1, 33): #在[i, d + 21252]区间内找最小的i + 33 *n
if day % 23 == p and day % 28 == e:
if day <= d:
day += 21252 #题目要求在给定时间d之后的某一天
print("Case %d: the next triple peak occurs in %d days." % (count, day - d))
# 从给定时间起,下一次三个高峰同一天的时间(距离给定时间的天数)。
break
count += 1
# 2692:假币问题
# http://bailian.openjudge.cn/practice/2692
def IsFake(cc,light,leftside,rightside,result):
for ii in range(0, 3):
# 如果假设假币cc是轻的
if light:
sleft = leftside[ii]
sright = rightside[ii]
# 如果假设假币cc是重的
else:
sleft = rightside[ii]
sright = leftside[ii]
if result[ii] == 'up': # 右端高
if sright.find(cc) == -1: # 如果假设假币cc不在右边,那么假设假币cc不是轻的
return False
elif result[ii] == 'even': # 平衡
if sright.find(cc)!=-1 or sleft.find(cc)!=-1:
return False
elif result[ii] == 'down': # 右端低
if sleft.find(cc) == -1: # 如果假设假币cc不在左边,那么假设假币cc不是轻的
return False
return True
leftside = ['left', 'left', 'left']
rightside = ['righ', 'righ', 'righ']
result = ['resu', 'resu', 'resu']
# 第一行有一个数字n,表示有n组测试用例
num = int(input())
# print(num)
while num > 0:
for ii in range(0, 3):
leftside[ii], rightside[ii], result[ii] = [s for s in input().split()]
for cc in [chr(i) for i in range(65,77)]:
if IsFake(cc,True,leftside,rightside,result):
print("%c is the counterfeit coin and it is light." % cc)
break
elif IsFake(cc,False,leftside,rightside,result):
print("%c is the counterfeit coin and it is heavy." % cc)
break
num -= 1
# 2811:熄灯问题
# http://bailian.openjudge.cn/practice/2811/
def guess():
#根据press的第一行和puzzle的第一行,确定press其他行的值
for r in range(1, num_row):
for c in range(1, num_col + 1):
# 如果puzzle[r][c]原来就是1或者被它上左右的按钮按成了1,那么要求press[r + 1][c]=1
press[r + 1][c] = (puzzle[r][c] + press[r][c] + press[r - 1][c] +
press[r][c - 1] + press[r][c + 1]) % 2
for c in range(1, num_col + 1):
# 如果最后一行的puzzle[num_row][c]上左右的按钮press未能将其熄灭,那么此次枚举失败
if (press[num_row][c - 1] + press[num_row][c] + press[num_row][c + 1] +
press[num_row - 1][c]) % 2 != puzzle[num_row][c]:
return 0 # 失败
return 1 # 成功
# 枚举第一行按下开关的所有可能性,有2^num_col个
# def enumeration():
# while guess() == 0: # 如果枚举失败,那么继续枚举
# press[1][1] += 1
# col = 1
# while (press[1][col] > 1):
# press[1][col] = 0
# # 枚举下一列
# col += 1
# press[1][col] += 1
# continue
# 枚举第一行按下开关的所有可能性,有2^num_col个
def enumeration():
state = 0
while guess() == 0: # 如果枚举失败,那么继续枚举
state_ = state
for jj in range(1, num_col + 1):
press[1][jj] = state_ % 2
state_ = state_ // 2
state += 1
continue
num_row = 5
num_col = 6
line = [[0] * (num_col + 2)] * (num_row + 1)
line[0] = [0] * (num_col + 2)
for i in range(1, num_row + 1):
# line[i]=input("请输入第"+str(i)+"行:").split(' ')
inputline = input().split(' ')
#将line中的元素转换为整型
inputline = list(map(int, inputline))
inputline.insert(0, 0)
inputline.insert(num_col + 1, 0)
line[i] = inputline
puzzle = line
press = [[0 for col in range(num_col + 2)]
for row in range(num_row + 1)] # (num_row+1)*(num_col+2) 不要写反
enumeration()
for ii in range(1, num_row + 1):
for jj in range(1, num_col + 1):
if jj == num_col:
print("%d" % press[ii][jj])
else:
print("%d " % press[ii][jj], end="")
http://blog.csdn.net/pipisorry/article/details/52186307 海量数据最近邻查找的kd-tree简介 利用Octree,為封閉的3D空間建立一個資料結構來管理空間中的每個元素。如此我們可以在 O(log N) 的時間內對這3D空間進行搜尋。...
防吐槽声明:本文适合程序员新人,自认阅文无数、技术超叼的大神不用看。GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中...
The Pilots Brothers' refrigeratorTime Limit:1000MSMemory Limit:65536KTotal Submissions:22286Accepted:8603Special JudgeDescriptionThe game “The ...
this.user = app.globalData.user; this.setData({ user: this.user });只setData不能赋值
为什么80%的码农都做不了架构师?>>> ...
《Cobbler部署指南》系列1、《Cobbler部署指南之安装篇》http://dreamway.blog.51cto.com/blog/1281816/11665892、《Cobbler部署指南之配置管理篇[上文]》http://dreamway.blog.51cto.com/blog/1281816/11669213、《Cobbler部署指南之配置管理篇[下文]》http:/
1. 下载yolov52. 安装所需的库3. 运行
二维码登录的流程:1)用户选择二维码登录;前端发送获取二维码请求,服务器收到请求后生成一个uuid(用于绑定二维码),然后根据指定网址和uuid生成对应的二维码,将uuid作为key,一个对应的code(生成二维码成功)作为value存入Redis,再将生成二维码流返回给前端展示。前端成功获取二维码后开始两秒一次轮询后端接口,直到登录成功或二维码超时(当然也包括关闭页面)这里使用的是Redis集群模板:@Resourceprivate RedisClusterTemplate jedis;
全局过滤器的作用:格式化文本padStart(arg1,arg2):es6新增的方法,arg1指的是当前数值的位数,arg2当位数不够时,在前面补上什么vue的全局过滤器是通过管道符(|)进行格式化的,一个两个参数,参数1指向格式化的字符串,参数2指定格式化的函数<div id="app"> <p>{{msg|dataFormat}}</p> &...
在本地设置csv的相关信息能在本地上跑的通,但是会发现将本地的jmx文件上传到服务器上却无法正常的运行会出现无法正常的运行一秒结束的情况这就是csv data set comfig中的配置没有更改而造成的,因为所读取的账户信息的文件还在电脑本地,服务器读取不了,且jmx文件的读取账户信息文本的路径未修改这样做首先:将本地的账户信息文件上传至服务器上修改服务器上jmx文件的csv路径将路径改为上传后账户信息文件的位置运行即可在下小白一枚,在不断的进步,如果做的不好,望大家见谅。记录.
在模块目录中父工程没有显示,在右边的maven工程中父工程的也变灰了我出现这个的原因是在设置中把父工程忽略掉了导致父工程不显示,去掉勾就恢复了父工程
何为mime类型? mime.json { ".323":"text/h323" , ".3gp":"video/3gpp" , ".aab":"application/x-authoware-bin" , ".aam":"application/x-authoware-map" , "