首页 > 编程语言 >B. Alice's Adventures in Permuting (python解)-codeforces

B. Alice's Adventures in Permuting (python解)-codeforces

时间:2024-11-14 09:32:29浏览次数:1  
标签:__ index python Permuting codeforces int data append

B. Alice's Adventures in Permuting (python解)-codeforces

原题链接:

B. Alice's Adventures in Permuting

问题分析:

我们需要将数组 a 转换为一个排列,排列是由 n 个不同的整数构成,范围从 0 到 n−1。数组 a 是通过给定的参数 nbc 生成的。

\[a[i]=b⋅(i−1)+c \]

\[对于 1≤i≤n \]

思路:

  • 当 b=0 时,数组中的所有元素都是 c,这意味着数组中的元素不可能是不同的,因此如果 c<n,则无法形成排列,返回 -1;如果 cn,则数组中的元素超出了排列的范围,返回 -1

  • 处理 b>0 的情况

    \[最大值 =(n−1)⋅b+c。 \]

    检查这个最大值是否至少为 n−1。如果小于 n−1,则无法形成排列,返回 -1

  • 计算所需的操作次数

    \[操作次数= ((n−1)−c ) / b +1 \]

代码:

import random
import sys

def main():
    input = sys.stdin.read
    data = input().split()
    
    t = int(data[0])
    index = 1
    
    z = []
    
    for _ in range(t):
        n = int(data[index])
        b = int(data[index + 1])
        c = int(data[index + 2])
        index += 3
        
        if b == 0:
            if c >= n:
                z.append(str(n))
            elif c >= n - 2:
                z.append(str(n - 1))
            else:
                z.append("-1")
        else:
            if c >= n:
                z.append(str(n))
            else:
                z.append(str(n - max(0, 1 + (n - c - 1) // b)))
    
    print("\n".join(z))

if __name__ == "__main__":
    main()

祝AC

标签:__,index,python,Permuting,codeforces,int,data,append
From: https://www.cnblogs.com/666-777-eto/p/18545355

相关文章

  • 毕业论文设计 Python 实现基于WGAN的生成对抗网络数据生成的详细项目实例(含完整的程序
    目录Python实现基于WGAN的生成对抗网络数据生成的详细项目实例...5项目背景介绍...5一、引言...5二、WGAN背景及优势...51.生成对抗网络(GAN)简述...52.WGAN的核心创新:Wasserstein距离...6......
  • python第三天笔记
    #创建一个字典a={}#花括号法b=dict()#指明类型法#数据项(item)——各个标签(key)和数据值(value)#标签和数据值之间用:来连接#批量添加数据项,只要是序列就可以了b=dict.fromkeys(("name","age"))#如果没有添加数据值默认是None,就是未知b=dict.fromkeys(("name"......
  • 【打破传统授信模型:基于深度神经网络 DNN模型的精确授信额度计算方法】-附完整python
    打破传统授信模型:基于深度神经网络DNN模型的精确额度计算方法模型结构概览数据预处理1.导入必要的库2.加载数据3.数据预处理4.构建深度神经网络模型5.模型训练与调参6.模型评估7.可视化训练过程9.完整代码深度神经网络(DeepNeuralNetwork,DNN),该模型通过K......
  • Anaconda 和 conda 是什么关系?就像 pip 和 python 一样吗
    Anaconda和conda是AnacondaDistribution还是MinicondaAnaconda和condaAnaconda和conda之间的关系有点类似于pip和Python,但又有所不同。Anaconda是一个数据科学和机器学习的发行版,它包含了Python、conda以及许多预装的库和工具,如JupyterNotebo......
  • 基于大数据 Python 智能水果销售系统(源码+LW+部署讲解+数据库+ppt)
    !!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我避免后期給自己答辩找麻烦增加难度(部分学校只有一次答辩机会没弄好就延迟毕业了)会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:......
  • 简单上手python爬虫实战:阜阳市历史天气数据爬取
        这里我们学校开始了见习,搞的是阜阳市历史天气数据看板,加了点大数据方面的技术栈,我这里就不讲了,出一期非常简单的爬虫代码吧。1数据来源    这里我们用的网站是天气后报里的,网站如下:历史天气查询|天气记录|天气预报|气温查询|过去天气_天气后报http://ti......
  • 带你理解Python面向对象
    一、面向对象编程1.1面向过程与面向对象面向过程:更加注重通过函数来组织代码,适合任务明确、结构简单的程序。面向对象:则注重通过对象和类来组织代码,适合复杂且需要长期维护和扩展的大型项目。面向过程和面向对象都是一种编程方式,只不过再设计上有区别。三大基本特性:封装......
  • 【Python教程】python如何把数据导出生成excel
    博主介绍:✌全网粉丝21W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。感兴趣的可以先......
  • Python——专栏:跳动的心跳(橘粉爱心)——完整代码
    运行展示完整代码importrandomfrommathimportsin,cos,pi,logfromtkinterimport*CANVAS_WIDTH=980#画布的宽CANVAS_HEIGHT=720#画布的高CANVAS_CENTER_X=CANVAS_WIDTH/2#画布中心的X轴坐标CANVAS_CENTER_Y=CANVAS_HEIGHT/2#画布中......
  • Python 面向对象编程
    一、面向对象编程1.1面向过程与面向对象在理解面向对象编程(OOP)之前,我们先要了解 面向过程(POP) 和 面向对象(OOP) 的区别。1.1.1面向过程(POP)-面向过程的编程思想将一个功能分解为一个一个小的步骤,我们通过完成一个一个的小的步骤来完成一个程序-这种编程方式,符合我们......