首页 > 编程语言 >[USACO | Python] 201602B2 Circular Barn

[USACO | Python] 201602B2 Circular Barn

时间:2024-03-14 15:32:02浏览次数:33  
标签:cur Python lines 201602B2 range steps fout cbarn Barn

作为当代建筑的粉丝,农民约翰(John)建造了一个完美圆形的新谷仓。在里面,谷仓由n环组成房间,从1…n的顺时针方向编号。房间的有n个(1<= n <= 1000)。每一间房间都有三扇门,两扇分别通往临近的房间,一扇通往谷仓的外面。


Farmer John 想要有准确的 ri 头牛在房间 r 中(1<= ri <= 100), 他打开了某一个房间通往谷仓外面的门,并让母牛门按照顺时针方向进入到谷仓中直到她们遇到了一个舒适的地方。Farmer John 想要他的奶牛们使用最短的路程走到房间内,请确认最小的距离这些奶牛们需要走。距离就是单头奶牛穿过内部的门的数量。

输入格式(file cbarn.in):

第一行包含 n,剩下的n行每一行包含一个 ri

输出格式(file cbarn.out):


请写出最小的距离

输入样例:

5
4
7
8
6
4

输出样例:

48

在这个例子中,最好的解就是让牛从需要7头牛的门进去


 

USACO

这里是原文地址,中文为我手翻,如果有不准确的地方勿喷

=====Analysis=====

这是一道比较简单的模拟题,其中需要模拟的部分题目也写的非常清楚了

这里可以直接枚举+模拟

枚举从所有门进的可能,然后枚举的单个内再进行模拟,最后取步数最小的门即可

=====Code=====

#201602B2
#Circular Barn
#https://usaco.org/index.php?page=viewproblem2&cpid=616&lang=en

def solve():
    steps = 999999999999999
    for i in range(N,2*N):
        cur_steps = 0
        for j in range(i-1,i-N,-1):
            cur_steps += sum(rooms[j:i])
        steps = min(steps,cur_steps)
    return fout.write(f"{steps}\n")

fin = open('cbarn.in','r')
fout = open('cbarn.out','w')
lines = fin.read().splitlines()
N = int(lines[0])
rooms = [int(lines[i]) for i in range(1,N+1)]*2

solve()
fout.close()

标签:cur,Python,lines,201602B2,range,steps,fout,cbarn,Barn
From: https://blog.csdn.net/QWQFAE233/article/details/136711712

相关文章

  • Python实现ws订阅服务
    一、Python实现ws订阅服务#使用websocket订阅欧易公共频道中的行情频道,以下是已知信息,写出Python代码#地址:"wss://wspap.okx.com:8443/ws/v5/public?brokerId=9999"#请求示例:#{#"op":"subscribe",#"args":[{#"channel":"......
  • Python实现http接口请求数据后,往RabbitMQ里面插入数据
    python实现http接口请求数据服务后,往RABBITmq里面插入数据importtimeimportrequestsimportpikaimportdatetimebase_url='https://www.okx.com'api_url='/api/v5/market/history-mark-price-candles'#时间颗粒度[1m/3m/5m/15m/30m/1H/2H/4H]time_unit=[......
  • python string模块
    介绍ascii_letters--所有字母的字符串ascii_lowercase--小写字母的字符串ascii_uppercase--大写字母的字符串digits--十进制数字的字符串hexdigits--十六进制数字的字符串octdigits--八进制数字的字符串punctuation--标点符号的字符串printable--所有可打印的ASCII码字符......
  • 第四章 python的标准库
    第四章python的标准库一、`os`1.1基本功能1.2文件和目录操作1.2.1目录操作1.2.2文件操作1.3路径操作1.4环境变量1.4.1`os.environ`1.4.2`os.pathsep`1.4.3`os.name`1.4.4`os.system()`1.4.5`os.putenv(key,value)`和`os.unsetenv(key)`1.5进程管理1.5......
  • python基于flask共享单车管理系统 234if
    快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要......
  • 基于Django(python+sql)的校园二手交易系统设计与实现(完整程序+开题报告+论文)
    摘要        随着互联网的迅猛发展,校园内的二手交易市场也逐渐呈现出蓬勃的发展态势。学生们在校园生活中会产生大量的闲置物品,而其他学生也有可能需要这些物品。本论文研究了校园二手交易系统的需求分析、系统实现和测试三个部分,旨在提高校园二手交易系统的开发和测......
  • Python 向函数传递参数(小结)
    目录1、位置实参2、关键字实参3、形参默认值4、将队列的副本传入函数5、传递任意数量的实参6、传递任意数量的关键字实参1、位置实参调用函数时,传递参数的顺序与函数定义中的参数顺序一致。defperson(name,age):passperson('Marry',34)2、关键字实参调用......
  • Python 文件操作(小结)
    目录1打开文件1.1文件路径1.2打开‘中文’文件1.3 with打开1.3打开模式1.4打开异常2读取文件2.1一次性读取全部,read()2.2遍历文件,每次读取一行2.3with外使用文件内容3写文件1打开文件1.1文件路径程序文件所在路径为“当前路径”。(1)如果文件位于“......
  • python教程(中更新中)
    递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n!=1x2x3x...xn,用函数fact(n)表示,可以看出:����(�)=�!=1×2×3×⋅⋅⋅×(�−1)×�=(�−1)!×�=����(�−1)×�fact(n)=n!=1×2×3×⋅⋅⋅×(n−1)×n=(n−1)!×n......
  • Python爬虫实战系列2:虎嗅网24小时热门新闻采集
    一、分析页面打开虎嗅网,点击【24小时】本次采集,我们以这24小时的热门新闻为案例。1.1、分析请求F12打开开发者模式,然后点击Network后点击任意一个请求,Ctrl+F开启搜索,输入标题雷军回应,开始搜索可以看到请求地址为https://www.huxiu.com/moment/但是返回的内容不是json格式......