当前位置: 首页 > news >正文

OD C卷 - 石头剪刀布游戏

石头剪刀布游戏 (100)

  • 剪刀石头布游戏,A-石头、B-剪刀、C-布
  • 游戏规则:
    • 胜负规则,A>B; B>C; C>A;
    • 当本场次中有且仅有一种出拳形状优于其他出拳形状,则该形状的玩家是胜利者,否则认为是平局,没有赢家,有多个胜利者时,同为赢家;
    • 若三家出拳分别是A、B、C,出现三方优势循环,为平局;
    • 两个玩家出拳分别是A、B,出拳A的获胜;

输入描述:
玩家ID 出拳形状,玩家数量<=1000
输出描述:
输出赢家的ID列表, 按字符串升序排列,每个ID占一行;
如果没有赢家,输出NULL字符串

示例1
输入:
abc1 A
xyz B
输出:
abc1

示例2
输入:
abc1 A
xyz A
输出:
NULL

示例3
输入:
abc1 A
def A
alic A
xyz B
输出:
abc1
alic
def

思路:

  • 以字典统计每种出拳的玩家,出拳为key,值为玩家列表
  • 当字典的长度为2时,才有赢家(A-B、B-C、C-A)

from collections import defaultdict
players = defaultdict(list)i = 0
while True:try:pid, symbol = input().strip().split()players[symbol].append(pid)i += 1if i == 4:raise EOFError("模拟结束异常")except EOFError:  # 结束输入# key 为 2时  会有赢家if len(players) == 2:if players["A"] and players["B"]:players["A"].sort()for i in players["A"]:print(i)elif players["A"] and players["C"]:players["C"].sort()for i in players["C"]:print(i)else:players["B"].sort()for i in players["B"]:print(i)else:# 没有赢家print("NULL")break

相关文章:

OD C卷 - 石头剪刀布游戏

石头剪刀布游戏 &#xff08;100&#xff09; 剪刀石头布游戏&#xff0c;A-石头、B-剪刀、C-布游戏规则&#xff1a; 胜负规则&#xff0c;A>B; B>C; C>A;当本场次中有且仅有一种出拳形状优于其他出拳形状&#xff0c;则该形状的玩家是胜利者&#xff0c;否则认为是…...

关于k8s集群中kubectl的陈述式资源管理

1、k8s集群资源管理方式分类 &#xff08;1&#xff09;陈述式资源管理方式&#xff1a;增删查比较方便&#xff0c;但是改非常不方便 使用一条kubectl命令和参数选项来实现资源对象管理操作 &#xff08;2&#xff09;声明式资源管理方式&#xff1a;yaml文件管理 使用yam…...

XML 学习笔记

简介&#xff1a; &#xff08;1&#xff09;XML&#xff1a;可扩展性标记语言&#xff0c;用于传输和存储数据&#xff0c;而不是展示数据&#xff0c;是W3C 推举的数据传输格式。 XML的标签必须自定义&#xff0c;但是在写标签名的时候一定要有含义。 XML 只能有一个根节点…...

MongoDB未授权访问漏洞

2.MongoDB未授权访问漏洞 mongodb数据库是由C编写&#xff0c;主要是为了提供web应可用扩展的一种高性能数据库。开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增、删、改、查高危动作)而且可以远程访问数据库…...

数据安全、信息安全、网络安全区别与联系

关键字&#xff1a; 信息安全 数据安全 网络安全 [导读] 让人更好理解 “数据安全”、“信息安全”、“网络安全” 三者间的区别与联系了&#xff0c;我们汇总了官方机构给这三者的定义&#xff0c;并且网友也给出了自己的看法&#xff0c;一起来看看。 在 “互联网 ” 被广…...

Jenkins未授权访问漏洞 *

漏洞复现 步骤一&#xff1a;使用以下fofa语法进行产品搜索.... port"8080" && app"JENKINS" && title"Dashboard [Jenkins]" 步骤二&#xff1a;在打开的URL中...点击Manage Jenkins --> Scritp Console在执行以下命令..…...

【爬虫原理】

《爬虫》 1、爬虫的概念 ​ 概念&#xff1a;&#xff08;spider&#xff0c;网络蜘蛛&#xff09;通过互联网上一个个的网络节点&#xff0c;进行数据的提取、整合以及存储 分类&#xff1a; 通用爬虫&#xff08;了解&#xff09; ​ 主要用于搜索引擎&#xff08;百度、…...

计算机组成原理 —— 指令流水线的基本概念

计算机组成原理 —— 指令流水线的基本概念 串行执行&#xff08;Serial Execution&#xff09;串行执行的特点串行执行的局限性串行执行的应用场景 并行执行定义基本原理五段式指令流水线优点缺点 流水线的性能指标示例计算 我们来了解一下指令流水线&#xff1a; 首先在这之…...

Python爬虫技术 第31节 持续集成和自动化部署

持续集成和自动化部署 Git版本控制 Git 是一个非常流行的分布式版本控制系统&#xff0c;用于跟踪对项目文件的修改。对于爬虫项目来说&#xff0c;使用Git可以帮助你管理代码的不同版本&#xff0c;协同开发&#xff0c;并且可以在出现问题时回滚到之前的版本。 基本操作&a…...

数据结构(C语言版)(第2版)课后习题答案

数据结构&#xff08;C语言版&#xff09;&#xff08;第2版&#xff09;课后习题答案 李冬梅 2015.3 目 录 第 1 章 绪论 1 第 2 章 线性表 5 第 3 章 栈和队列 13 第 4 章 串、数组和广义表 26 第 5 章 树和二叉树 33 第 6 章 图 43 第 7 章 查找 54 第 8 章 排序 65…...

打开轮盘锁问题(LeetCode)的分析总结及进一步提问

打开轮盘锁问题分析总结&#xff0c;及进一步提问&#xff1a;请给出一组最小步数下的号码序列组合 题目描述 你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字&#xff1a; ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由…...

python——joblib进行缓存记忆化-对计算结果缓存

问题场景 在前端多选框需要选取多个数据进行后端计算。 传入后端是多个数据包的对应路径。 这些数据包需要按一定顺序运行&#xff0c;通过一个Bag(path).get_start_time() 可以获得一个float时间值进行排序&#xff0c;但由于数据包的特性&#xff0c;这一操作很占用性能和时…...

Linux文件管理

系列文章目录 提示&#xff1a;仅用于个人学习&#xff0c;进行查漏补缺。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1…...

《Unity3D网络游戏实战》学习与实践--制作一款大乱斗游戏

角色类 基类Base Human是基础的角色类&#xff0c;它处理“操控角色”和“同步角色”的一些共有功能&#xff1b;CtrlHuman类代表“操控角色”​&#xff0c;它在BaseHuman类的基础上处理鼠标操控功能&#xff1b;SyncHuman类是“同步角色”类&#xff0c;它也继承自BaseHuman&…...

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑源-荷不确定性的省间电力现货市场潮流风险概率评估》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...

Pinterest 选择采用 TiDB

原文来源&#xff1a; https://tidb.net/blog/9f000c95 作者&#xff1a;Pinterest 公司高级软件工程师 Alberto Ordonez Pereira &#xff1b;高级工程经理 Lianghong Xu 声明&#xff1a;本文转载于 https://medium.com/pinterest-engineering/tidb-adoption-…...

【Python】 如何用 Docker 打包一个 Python 脚本

这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 &#x1f3b5; 许飞《父亲写的散文诗》 如何用 Docker 打包一个 Python 脚本 Docker 是一个开源的容器化平台&#xff0c;允许开发者将…...

从“幕后”到“台前”:一文读懂API经济如何促进企业的创新与增长

API&#xff08;Application Programming Interface&#xff0c;应用程序接口&#xff09;指一组定义软件程序如何与其他组件、服务或系统交互的规范。在传统的IT语境中&#xff0c;API往往更多承担前后端对接或应用系统间内部集成渠道的作用。但在当今大数据与智能化的时代&am…...

解锁PDF新姿势:2024年PDF转图片工具精选

随着数字化办公的普及和文档处理需求的日益增长&#xff0c;PDF转图片工具已成为日常工作中不可或缺的一部分。这些工具不仅帮助用户轻松地将PDF文件转换为图片格式&#xff0c;还提供了丰富的编辑、转换和批量处理功能&#xff0c;极大地提高了工作效率。 1.福昕PDF转换大师&…...

Node.js(8)——Express的基本使用

监听GET请求 通过app.get()方法&#xff0c;可以监听客户端GET请求&#xff0c;具体语法&#xff1a; app.get(请求URL,function(req,res){处理函数}) 监听POST请求 语法&#xff1a; app.post(请求URL,function(req,res){处理函数}) 把内容响应给客户端 通过res.send()方法…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中&#xff0c;群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS&#xff0c;在uniapp中实现&#xff1a; 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...

「Java基本语法」变量的使用

变量定义 变量是程序中存储数据的容器&#xff0c;用于保存可变的数据值。在Java中&#xff0c;变量必须先声明后使用&#xff0c;声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例&#xff1a;声明与初始化 public class VariableDemo {publi…...