编程题记录3

news2025/3/26 21:38:03

九宫幻方

题目链接:https://www.lanqiao.cn/problems/100/learning/?page=1&first_category_id=1&second_category_id=3&tags=%E7%9C%81%E8%B5%9B&tag_relation=intersection
在这里插入图片描述
在这里插入图片描述
先旋转、镜像得到所有的情况,可以发现情况是可以暴力得出的。接着就好办了,只需要对比就可以了。

import os
import sys

# 请在此输入您的代码 

data_baoli = [[4,9,2,3,5,7,8,1,6],
              [2,7,6,9,5,1,4,3,8],
              [6,1,8,7,5,3,2,9,4],
              [8,3,4,1,5,9,6,7,2],
              [8,1,6,3,5,7,4,9,2],
              [2,9,4,7,5,3,6,1,8],
              [6,7,2,1,5,9,8,3,4],
              [4,3,8,9,5,1,2,7,6]]

ls = list()
for _ in range(3):
    ls1, ls2, ls3 = map(int, input().split())
    ls.append(ls1)
    ls.append(ls2)
    ls.append(ls3)
# print(ls)
ans = 0
for i in range(len(data_baoli)):
    ok = 1
    for j in range(9):
        if ls[j] != data_baoli[i][j] and ls[j] != 0:
            ok = 0
            break
    if ok:
        ans += 1
        outcome = data_baoli[i]
# print(outcome)
if ans == 1:
    for i in range(3):
        print(outcome[3*i], outcome[3*i+1], outcome[3*i+2])
else:
    print('Too Many')

拉马车

题目链接:
https://www.lanqiao.cn/problems/101/learning/?page=1&first_category_id=1&second_category_id=3&tags=%E7%9C%81%E8%B5%9B&tag_relation=intersection
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按照出牌规则模拟写代码即可。容易漏的是,当A空的时候,并且桌子上没有可以获得的牌子的时候就已经可以跳出来了,B不用再出牌,没跳出来的话,B就会少了一张牌子,导致没通过。这道题的测试用例没有出现不能赢的情况,因此-1的输出情况不用考虑。

import os
import sys

# 请在此输入您的代码
A = list(input())
B = list(input())
# print(A,B)
flag_A = 1 # A先出牌
flag_B = 0
chupai = list()
while A != [] and B != []:
    if flag_A:
        flag_A = 0
        flag_B = 1
        A_chupai = A.pop(0)
        if A_chupai in chupai:
            # 找到出的牌子在序列中的位置
            position = chupai.index(A_chupai)
            chupai.append(A_chupai)
            huo_paizi = chupai[position:]
            A.extend(huo_paizi[::-1])
            # 更新牌
            chupai = chupai[:position]
            flag_A = 1
            flag_B = 0
        else:
            chupai.append(A_chupai)
        if A == []:
            break
    if flag_B:
        flag_B = 0
        flag_A = 1
        B_chupai = B.pop(0)
        if B_chupai in chupai:
            # 找到出的牌子在序列中的位置
            position = chupai.index(B_chupai)
            chupai.append(B_chupai)
            huo_paizi = chupai[position:]
            B.extend(huo_paizi[::-1])
            # 更新牌
            chupai = chupai[:position]
            flag_B = 1
            flag_A = 0
        else:
            chupai.append(B_chupai)
    if B == []:
        break

if A:
    print(''.join(A))
elif B:
    print(''.join(B))

青蛙跳杯子

题目链接:https://www.lanqiao.cn/problems/102/learning/?page=1&first_category_id=1&second_category_id=3&tags=%E7%9C%81%E8%B5%9B,2017&tag_relation=intersection
在这里插入图片描述
在这里插入图片描述

import os
import sys

# 请在此输入您的代码
source_ = list(input())
obj_ = list(input())
moves = [-1, 1, 2, -2, 3, -3]
# 存储每一种可能的情况和对应的步数
Q = [list([source_, 0])]
def bfs():
    # 遍历每一种可能的排序
    for v in Q:
        # 遍历树的每一种可能情况
        for move in moves:
            # qingwa = v[0][:]
            step = v[1]
            # 遍历每一只青蛙
            for i in range(len(v[0])):
                qingwa = v[0][:]
                if str(qingwa[i]) == '*':
                    continue
                position = qingwa.index('*')
                # 如果更新这只青蛙,更新后的坐标
                new_position = i + move
                # 如果新的坐标等于*的坐标,交换坐标,并生成新的排序
                if new_position == position:
                    new_paixu = qingwa
                    new_paixu[position], new_paixu[i] = new_paixu[i], new_paixu[position]
                    if new_paixu == obj_:
                        print(step + 1)
                        return
                    ok = False
                    # 判断新排序是否在Q的排序中
                    for j in range(len(Q)):
                        if new_paixu == Q[j][0]:
                            ok = True
                    if ok is False:
                        Q.append([new_paixu, step+1])




bfs()

代码通过率为66.7%,剩下的超时了,待优化。

日期问题

题目链接:https://www.lanqiao.cn/problems/103/learning/?page=1&first_category_id=1&second_category_id=3&tags=%E7%9C%81%E8%B5%9B&tag_relation=intersection
在这里插入图片描述
在这里插入图片描述

不采用try…except…会报段错误。

import os
import sys

# 请在此输入您的代码
from datetime import datetime

date_str = input().strip()
A, B, C = map(int, date_str.split('/'))
ans = set()
def con_year(x):
    if x>=60:
        return x+1900
    else:
        return x+2000
# 年月日
try:
    y = con_year(A)
    dt = datetime(y, B, C)
    if datetime(1960,1,1)<=dt<=datetime(2059,12,31):
        ans.add(dt)
except ValueError:
    pass


# 月日年
try:
    y = con_year(C)
    dt = datetime(y, A, B)
    if datetime(1960,1,1)<=dt<=datetime(2059,12,31):
        ans.add(dt)
except ValueError:
    pass

# 日月年
try:
    y = con_year(C)
    dt = datetime(y, B, A)
    if datetime(1960,1,1)<=dt<=datetime(2059,12,31):
        ans.add(dt)
except ValueError:
    pass
# print(ans)

for dt in sorted(ans):
    print(dt.strftime("%Y-%m-%d"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2321212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sql语句给表添加一个递增列

SSMS–》视图-》数据库(表)-》新建查询 ALTER TABLE [表名] DROP COLUMN ID ALTER TABLE [表名] ADD ID INT IDENTITY(1,1)执行完以上操作&#xff0c;会在表的最后一列添加一个自增字段 接下来如何把最后一个字段放到第一个字段呢&#xff1f; 假如sqlserver 表test 有以下…

vue java 实现大地图切片上传

文章目录 一、项目背景二、页面三、代码1.前端2.mock-i18n.js文件3.xx.js文件定义方法4.配置文件 application.properties5.后端方法 四、易错点易错点1&#xff1a;前端要进行分片切割&#xff0c;然后再分片上传。易错点2&#xff1a;后端配置文件要配置。易错点3&#xff1a…

langchain+ollama+deepseek的部署(win)

ANACONDA 安装 官网&#xff1a;Download Anaconda Distribution | Anaconda 配置系统环境 在系统变量中配置 检查是否配置成功 通过 cmd 窗口输入&#xff1a; conda info 如图&#xff1a;表示成功 配置你的虚拟环境 二、安装 ollama allama 安装 官网地址&#xff1a…

deepseek实战教程-第四篇开放平台接口文档使用

第二篇讲解了如何本地安装大模型&#xff0c;然后编写一个基于jsspringboot的项目&#xff0c;通过页面实现对话的功能。实际上&#xff0c;上面的demo用到是deepseek提供的接口&#xff0c;那么deepseek共提供了多少接口呢&#xff1f;这就要讨论到deepseek的接口库了&#xf…

一站式电脑工具箱,功能全面且实用

小明工具箱是一款集成了系统设置、维护工具、实用工具、图像处理等四大类工具的电脑工具箱&#xff0c;涵盖了上百种实用工具&#xff0c;能够满足用户在文件管理、文本处理、系统优化、图像处理等多方面的需求。 初次使用&#xff0c;需双击软件&#xff0c;便会自动将工具解压…

那些正常的动态规划

文章目录 前言动态规划到底是啥&#xff1f; 线性dp最长上升子序列子集和子序列和子串的区别内容分析 最大上升子序列例题1——[NOIP2004 提高组] 合唱队形分析 最长公共子序列最长公共子串 平面dp例题2——[NOIP2000 提高组] 方格取数分析 例题3——[NOIP2008 提高组] 传纸条分…

华为交换相关

端口模式 &#xff08;1&#xff09;access&#xff1a;只能属于单个VLAN&#xff0c;一般用于连接计算机端口 &#xff08;2&#xff09;trunk&#xff1a;端口允许多个VLAN通过&#xff0c;可以接收和发送多个VLAN报文&#xff0c;默认情况下只有管理VLAN不携带标签信息 &…

Chrome Performance 面板完全指南:从卡顿到丝滑的终极调试术

1.写在前面 前端性能调试是优化网页加载速度和运行效率的关键步骤&#xff0c;Chrome DevTools 的 Performance 面板 是核心工具; 2.Performance 面板使用步骤 ★ 基础 打开面板 在 Chrome 中按 F12 → 切换到 Performance 标签页。 开始录制 方式一&#xff1a;点击 ⚫️ 圆…

JDK 24:Java 24 中的新功能

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;历代文学&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编程&#xff0c;高并发设计&#xf…

ubuntu服务器server版安装,ssh远程连接xmanager管理,改ip网络连接。图文教程

ventoy启动服务器版iso镜像&#xff0c;注意看server名称&#xff0c;跟之前desktop版ubuntu不一样。没有gui界面。好&#xff0c;进入命令行界面。语言彻底没汉化了&#xff0c;选英文吧&#xff0c;别的更看不懂。 跟桌面版ubuntu类似&#xff0c;选择是否精简系统&#xff0…

python机器学习——新手入门学习笔记

一&#xff0c;概论 1.什么是机器学习 定义&#xff1a; 机器学习是从数据中自动分析获得模型&#xff0c;并利用模型对未知数据进行预测。 其实就是通过问题和数据&#xff0c;发现规律&#xff0c;并进行预测&#xff0c;与人脑相似。目的就是从历史数据当中获得规律&#x…

LabVIEW 与 PLC 通讯的常见方式

在工业自动化和数据采集系统中&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09; 广泛用于控制和监测各种设备&#xff0c;而 LabVIEW 作为强大的图形化编程工具&#xff0c;常用于上位机数据处理和可视化。为了实现 LabVIEW 与 PLC 的高效通讯&#xff0c;常见的方法包…

深度学习 Deep Learning 第9章 卷积网络 CNN

深度学习 Deep Learning 第9章 卷积网络 章节概述 本章深入探讨了卷积网络的原理、变体及其在深度学习中的应用。卷积网络通过卷积操作实现了参数共享和稀疏连接&#xff0c;显著提高了模型的效率和性能。本章首先介绍了卷积操作的基本形式及其在不同数据维度上的应用&#x…

Tekton系列之实践篇-从触发到完成的完整执行过程

以下介绍的是基于 Gitee 仓库 的 Tekton 工作流程 操作流程 定义task 克隆代码的task # task-clone.yaml apiVersion: tekton.dev/v1beta1 kind: Task metadata:name: git-clone spec:workspaces:- name: source # 工作目录params:- name: repo-url # 你的 Gitee 仓库地址…

【简单学习】Prompt Engineering 提示词工程

一、Prompt 1、Prompt 是什么&#xff1f; Prompt 是一种人为构造的输入序列&#xff0c;用于引导 GPT 模型根据先前输入的内容生成相关的输出。简单来说&#xff0c;就是你向模型提供的 “提示词”。 在 ChatGpt 中&#xff0c;我们可以通过设计不同的 prompt&#xff0c;让…

零基础入门网络爬虫第5天:Scrapy框架

4周 Srapy爬虫框架 不是一个简单的函数功能库&#xff0c;而是一个爬虫框架 安装&#xff1a;pip install scrapy 检测&#xff1a;scrapy -h Scrapy爬虫框架结构 爬虫框架 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合爬虫框架是一个半成品&#xff0c;能够帮助…

C#设计模式快速回顾

知识点来源&#xff1a;人间自有韬哥在&#xff0c;豆包 目录 一、七大原则1. 单一职责原则 (Single Responsibility Principle)2. 开放封闭原则 (Open-Closed Principle)3. 里氏替换原则 (Liskov Substitution Principle)4. 接口隔离原则 (Interface Segregation Principle)5…

分页查询互动问题(用户端)

文章目录 概要整体架构流程技术细节小结 概要 需求分析以及接口设计 技术细节 1.Controller层 GetMapping("/page")ApiOperation("分页查询问题")public PageDTO<QuestionVO> queryQuestionPage(QuestionPageQuery query){return questionService…

【全队项目】智能学术海报生成系统PosterGenius(项目介绍)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a;&#x1f3c0;大模型实战训练营_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

【线程安全问题的原因和方法】【java形式】【图片详解】

在本章节中采用实例图片的方式&#xff0c;以一个学习者的姿态进行描述问题解决问题&#xff0c;更加清晰明了&#xff0c;以及过程中会发问的问题都会一一进行呈现 目录 线程安全演示线程不安全情况图片解释&#xff1a; 将上述代码进行修改【从并行转化成穿行的方式】不会出…