牛客网编程题python输入输出_牛客网算法题目记录
车站建设问题
有10^8个村庄排在一条公路上,依次编号为0~10^8-1,相邻村庄距离为1,其中有n个村庄居住着牛牛,居住着牛牛的村庄从小到大依次为a0~an-1,其中保证a0=0.
现在需要建设车站,有两个要求必须被满足:
1、每个有牛牛居住的村庄必须修建车站。
2、相邻车站的距离必须为1或为某个质数。
现给出n和a数组,求需要建设车站的最小数量。
实例:
输入:3,[0,7,11]
输出:4
Python3解决:
# 判断是否是质数
import math
class Solution:
def if_n(self, num):
if num == 0 or num == 1:
return False
if num == 2:
return True
for i in range(2,int(math.sqrt(num) + 1)): #注意使用平方根来判别,否则超时。
if num%i == 0:
return False
return True
def work(self, n, a):
need_a = 0
for i in range(n - 1):
# 两个站之间的距离
temp = a[i+1] - a[i]
if self.if_n(temp) or (temp) == 1:
continue
else:
if temp%2 == 0:
need_a += 1
continue
else:
if self.if_n(temp - 2):
need_a += 1
continue
else:
need_a += 2
continue
return n + need_a
主要是用到了哥德巴赫猜想:
(1)一个大于2的偶数,必然可以表示为两个质数之和。
(2)一个大于2的奇数p,可以表示为p = p - 2 + 2
如果p-2 为质数则p可以表示为两个奇数之和,否则p可以表示为三个质数之和。
回路问题1
牛牛在一个迷宫中,迷宫有 nn个格子,有 m条通道,每条通道连接两个格子 u, v,编号为 u的格子可到达编号为 v 的格子,每人每条通道只能走一次。
牛牛想知道,他是否能从 11 号格子出发回到 11 号格子。
输入
第一行给定两个整数 nn , mm 。
接下来 mm 行,每行有两个整数 uu,vv 。
1 \leq n \leq 100,000 \quad 0 \leq m \leq 100,000\quad 0 \leq L \leq m1≤n≤100,0000≤m≤100,0000≤L≤m
m对 u, v 互不相同
输出
若能回到 11 号格子则返回Yes,否则返回No。
Python3解答:
class Solution:
# 获取下一个点的集合
def get_next(self, key, p):
res = [] # 剔除的边
res1 = [] # 剔除已经选取的边之后
for t in p:
if t.x is key:
res.append(t)
if t.x is not key:
res1.append(t)
return res, res1
# 从具有相同起点的点之中计算是否可行
def chexh(self, res, res1):
for th in res:
if th.y is 1:
return "Yes"
res, res1 = self.get_next(th.y, res1)
if res is []:
return "No"
rest = self.chexh(res, res1)
if rest is "Yes":
return "Yes"
return "No"
def solve(self, param, edge):
# write code here
ned, ned1 = self.get_next(1, edge)
return self.chexh(ned, ned1)
牛客网编程题python输入输出_牛客网算法题目记录相关推荐
- Python 牛客网编程题输入用例问题
Python 牛客网编程题的输入用例 前言 切入正题 输入字符串 输入整数 输入列表 后记 前言 在牛客网刷题的时候,发现明明在python本地编译器能够轻松解决的输入用例问题,到牛客网在线编译就得好 ...
- 牛客网编程题python_牛客网数据结构练习题
第一次使用牛客做编程题,刚开始不了解如何输入输出,查了查才知道.我用的是语言是 Javascript v8 6.0.0 readline() 表示得到输入的字符串,如果是多行的话,每readline一 ...
- 督促自己——某客网编程题三道(Java)——字符串、集合、数组
某客网编程题三道(Java)--字符串.集合.数组 第一题: 题目描述 找出字符串中第一个只出现一次的字符 输入描述: 输入几个非空字符串 输出描述: 输出第一个只出现一次的字符,如果不存在输出-1 ...
- [编程题]:n头牛中选择满足所有m种特性的牛(百度2021)
[编程题]:n头牛中选择满足所有m种特性的牛 牛牛管理着一片牧场,在这片牧场中,一共有n头奶牛,为了方便统计,它们排成一排,编号为 1 - n. 现在质检员牛妹在检测这些奶牛的质量,她列出了m条特性, ...
- Python爬虫_某宝网案例
Python爬虫_某宝网案例 一.导入第三方库,确定url,定义headers ,伪装爬虫代码 import requests url = 'https://s.taobao.com/search?q ...
- java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法
/** * java编程题:用Java实现一个冒泡排序算法 */ public class Test12 { public static void main(String[] args) { int[ ...
- C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
4 C语言编程题--结构体 **设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中.请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有 ...
- python牛客网编程题_一波优秀的自学编程语言网站
网课已经开设两三个月了 同学们上网课的效果怎么样呢? 特别是学编程的同学 没有了学校的学习氛围 没有了老师面对面教学指导 你是否为了编程而焦头烂额,生无可恋呢? 没事,现在同学们的福利来啦! 下面是给 ...
- 力扣牛客每日刷题(Python解法持续更新)
力扣牛客每日刷题(持续更新) 初试结束第15天, 之前简单的处理了部分毕设方面的任务, 对接下来的学习做了个简单的规划 决定每天开始刷几道力扣题提高一下算法的理解,不能让之前学的数据结构都忘记了 每道 ...
最新文章
- 计算机二级C语言程序题常见题型,计算机二级C语言题型和评分标准
- 【嵌入式开发】 ARM 关闭 MMU ( 存储体系 | I/D-Cache | MMU | CP15 寄存器 | C1 控制寄存器 | C7 寄存器 | 关闭 MMU )
- laravel 报错htmlspecialchars() expects parameter 1 to be string, object given
- 当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
- [完整代码]创建不受数据库限制的报表 VB.Net 版本 -1
- 致驱动工程师的一封信
- 中台生态的形成:全面解读技术、研发、移动中台建设
- 倒排索引-搜索引擎的基石
- Linux 内核的同步机制,第 1 部分(来自IBM)
- USACO_1_2_Dual Palindromes
- 兄弟连Linux ppt笔记
- Qt学习之自定义控件——颜色下拉框
- NB-IoT在无线烟感监控系统中的优势
- Riverbed发布SteelFusion 5.0,对NAS存储提供支持
- Kubernetes 中的 requests 和 limits详解
- 都市丽人“正青年”设计大赛结果出炉 感召中国新生设计力量
- 图像质量评价及率失真性能曲线绘制
- 『IT视界』 [职场人生]从软件工程师到IT猎头续:告诉你如何写简历
- 软件开发的43款可视化工具
- 变身“流程公司” 什么工作流合适