AtcoderABC222场
A - Four DigitsA - Four Digits
题目大意
给定一个整数N,其范围在0到9999之间(包含边界)。在将N转换为四位数的字符串后,输出它。如果N的位数不足四位,则在前面添加必要数量的零。
思路分析
可以使用输出流的格式设置功能来实现这一点。
具体做法是,使用setw(4)和setfill(‘0’)来设置输出格式,将N输出为四位数,并在不足四位时用0进行填充。
时间复杂度
O(1)
AC代码
#include <bits/stdc++.h>
using namespace std;int main() {int n;cin >> n;cout << setw(4) << setfill('0') << n << endl;return 0;
}
B - Failing Grade / B - Failing Grade /
题目大意
有N个学生参加了一次考试。这些学生被标记为Student 1、Student 2等等,第i个学生得分为ai。
分数低于P分的学生被认为考试不及格,无法获得学分。求考试不及格的学生人数。
思路分析
题目要求计算考试不及格的学生人数,可以通过遍历每个学生的得分,并根据阈值P进行判断来实现。
时间复杂度
O(N)
AC代码
#include<bits/stdc++.h>
using namespace std;int main() {int n, p, ans = 0;cin >> n >> p;for (int i = 0; i < n; i++) {int a;cin >> a;if (a < p)ans++;}cout << ans << endl;return 0;
}
C - Swiss-System TournamentC - Swiss-System Tournament
题目大意
题目要求模拟一个石头剪刀布比赛,参赛选手分为2N人,根据比赛结果和ID号码对选手进行排名,最终输出排名结果。
思路分析
创建一个大小为2N的数组rank,其中每个元素是一个pair,表示参赛者的胜场数和ID号码。初始时,所有参赛者的胜场数都为0,ID号码按照输入顺序排列。
然后,按照比赛轮数M进行迭代。在每一轮比赛中,遍历每一个比赛对,根据比赛结果判断胜利者,并更新其胜场数。比赛结果的判断通过一个judge函数来实现,根据石头剪刀布的规则,判定两个选手之间的比赛结果。
每轮比赛结束后,根据选手的胜场数对rank数组进行排序,以确定排名。排序时,因为要使用sort函数,所以要首先根据胜场数的负值排序,然后根据ID号码排序。
最后,按照排名顺序输出参赛者的ID号码,注意要将ID号码加1,因为在代码中使用的是0-based索引。
时间复杂度
O(NMlogN)
AC代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;// 判断胜负的函数
int judge(char a, char b) {// -1: 平局,0:前一个人胜利,1:后一个人胜利if (a == b) return -1;if (a == 'G' && b == 'P') return 1;if (a == 'C' && b == 'G') return 1;if (a == 'P' && b == 'C') return 1;return 0;
}int main() {int N, M;cin >> N >> M; // 输入参赛人数N和比赛轮数Mvector<string> S(2 * N); // 存储所有参赛者的手势序列for (int i = 0; i < 2 * N; i++) {cin >> S[i]; // 输入每个参赛者的手势序列}vector<pair<int, int>> rank(2 * N); // 存储参赛者的排名和IDfor (int i = 0; i < 2 * N; i++) {rank[i] = make_pair(0, i); // 初始化排名和ID,初始胜场数为0}// rank[i] = [x,y] -> 第(i+1)名参赛者的胜场数为 -x,ID为 yfor (int j = 0; j < M; j++) {for (int i = 0; i < N; i++) {int player1 = rank[2 * i].second; // 第i个比赛对中的第一个参赛者的IDint player2 = rank[2 * i + 1].second; // 第i个比赛对中的第二个参赛者的IDint result = judge(S[player1][j], S[player2][j]); // 第j轮比赛中两位参赛者的结果if (result != -1) rank[2 * i + result].first -= 1; // 根据比赛结果更新排名}sort(rank.begin(), rank.end()); // 按照胜场数对参赛者进行排序}for (auto p : rank) {cout << p.second + 1 << endl; // 输出最终的排名}return 0;
}
相关文章:
AtcoderABC222场
A - Four DigitsA - Four Digits 题目大意 给定一个整数N,其范围在0到9999之间(包含边界)。在将N转换为四位数的字符串后,输出它。如果N的位数不足四位,则在前面添加必要数量的零。 思路分析 可以使用输出流的格式设…...
架构实践方法
一、识别复杂度 将主要的复杂度问题列出来,然后根据业务、技术、团队等综合情况进行排序,优先解决当前面临的最主要的复杂度问题。对于按照复杂度优先级解决的方式,存在一个普遍的担忧:如果按照优先级来解决复杂度,可…...
点淘的MCN机构申请详细入驻指南!
消费趋势的变化,来自消费人群的变化。 后疫情时代,经济复苏的反弹力度不足,人们开始怀疑我们正从前几年的消费升级,跌入消费降级的时代,但这并不能准确概括消费市场的变化。 仔细翻看各大奢侈品集团的财报࿰…...
事务和事务的隔离级别
1.4.事务和事务的隔离级别 1.4.1.为什么需要事务 事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务&…...
每日一题 34在排序数组中查找元素的第一个和最后一个位置(二分查找)
题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…...
Spring Boot Admin 环境搭建与基本使用
Spring Boot Admin 环境搭建与基本使用 一、Spring Boot Admin是什么二、提供了那些功能三、 使用Spring Boot Admin3.1搭建Spring Boot Admin服务pom文件yml配置文件启动类启动admin服务效果 3.2 common-apipom文件feignhystrix 3.3服务消费者pom文件yml配置文件启动类control…...
JVM之内存模型
1. Java内存模型 很多人将Java 内存结构与java 内存模型傻傻分不清,java 内存模型是 Java Memory Model(JMM)的意思。 简单的说,JMM 定义了一套在多线程读写共享数据时(成员变量、数组)时,对数据…...
音视频 vs2017配置FFmpeg
vs2017 ffmpeg4.2.1 一、首先我把FFmpeg整理了一下,放在C盘 二、新建空项目 三、添加main.cpp,将bin文件夹下dll文件拷贝到cpp目录下 #include<stdio.h> #include<iostream>extern "C" { #include "libavcodec/avcodec.h&…...
【项目管理】PMP备考宝典-第二章《环境》
第一节:概述 1.项目所处的组织环境 (1)事业环境因素(EEFs) 组织内部的事业环境因素: 企业都会有愿景、使命、价值观,这些决定了企业的发展方向。不忘初心,坚定地走自己的路&#…...
ELK 将数据流转换回常规索引
ELK 将数据流转换回常规索引 现象:创建索引模板是打开了数据流,导致不能创建常规索引,并且手动修改、删除索引模板失败 "reason" : "composable template [logs_template] with index patterns [new-pattern*], priority [2…...
jackson库收发json格式数据和ajax发送json格式的数据
一、jackson库收发json格式数据 jackson库是maven仓库中用来实现组织json数据功能的库。 json格式 json格式一个组织数据的字符文本格式,它用键值对的方式存贮数据,json数据都是有一对对键值对组成的,键只能是字符串,用双引号包…...
ubuntu安装和卸载CLion
安装 在https://www.jetbrains.com/clion/download/#sectionlinux下载相应版本的安装包,解压之后,找到解压文件夹中的bin文件夹运行./clion.sh 卸载 使用sudo rm -rf删除以下内容;并把刚刚解压的文件删掉 ~/.config/JetBrains ~/.local/s…...
Petrel解释二维浅地层数据
Petrel是斯伦贝谢开发的一款地质解释和建模软件,有点像地理信息系统的ArcGIS,主要用于数据分析和展示。它不是用来处理原始数据的,而是集成各种处理后的结果数据进行特征分析和目标拾取。当然,它也能读取原始数据,比如…...
分布式任务调度平台XXL-JOB使用
说明:分布式任务调度平台XXL-JOB,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用(官方语)。 本文介绍使用XXL-JOB实现定时执行代码,可用于项目中…...
自考本科汉语言文学专业真的太难了吗
自考本科汉语言文学专业的难度和就业前景都需要综合考虑。目前,自考汉语言文学专业通过率是比较高的,与其他专业比较,难度会低一些,主要考验考生的记忆能力。 自学考试汉语言文学难度怎么样 本科自学考试汉语言文学难度还是比较简…...
STM32CubeMX之freeRTOS信号量
队列可以传输数据,任务之间和任务和中断之间,消息队列用来传数据,占用时间也长 但哦我们有时候只需要传递状态,只需要一个数值表示 如果我们屏幕按固定刷新,就会很消耗资源,如果我们数据变化了࿰…...
react-spring,一个react的动画库的使用
介绍 React Spring 是一个 spring physics based animation library 用于 React。它可以轻松地在 React 中实现弹性、渐变等动画效果。 使用 安装依赖: 使用npm: npm install react-spring 使用yarn: yarn add react-spring 导入和使用&a…...
Python中的lambda函数
前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! Python中的lambda函数 在Python中,我们使用lambda关键字来声明一个匿名函数, 这就是为什么我们将它们称为“lambda函数”。 匿名函数是指没有声明函数名称的函数。 尽管它们在语法上看起来不同&a…...
Ajax入门
文章目录 axios体验axios-查询参数常用请求方法数据提交 axios错误处理 axios体验 引入axios库 使用axios语法 axios({url: 目标资源地址 }).then((result)>{// 对服务器返回的数据做后续处理 })完整实例 <!DOCTYPE html> <html lang"en"><head&g…...
MapReduce基础原理、MR与MPP区别
MapReduce概述 MapReduce(MR)本质上是一种用于数据处理的编程模型;MapReduce用于海量数据的计算,HDFS用于海量数据的存储(Hadoop Distributed File System,Hadoop分布式文件系统)。Hadoop MapR…...
bge-large-zh-v1.5实战应用:快速搭建智能文档检索系统
bge-large-zh-v1.5实战应用:快速搭建智能文档检索系统 1. 引言:为什么选择bge-large-zh-v1.5 在日常工作中,我们经常需要从海量文档中快速找到相关信息。传统的关键词匹配方式已经无法满足精准检索的需求,而基于语义理解的智能检…...
企业任务管理平台推荐:10 款适合项目协作的工具整理
本文将深入盘点 10 款项目任务管理系统:Worktile、PingCode、Jira、monday.com、Asana、ClickUp、Wrike、Smartsheet、Trello、OpenProject。企业在选择项目任务管理系统时,最常见的问题不是“工具够不够多”,而是“这套系统能不能真正把团队…...
为FLUX.1-Krea-Extracted-LoRA 构建Web界面:JavaScript前端交互开发指南
为FLUX.1-Krea-Extracted-LoRA构建Web界面:JavaScript前端交互开发指南 1. 项目概述与准备工作 FLUX.1-Krea-Extracted-LoRA是一种轻量化的图像生成模型,通过星图GPU平台部署后,需要一个直观的Web界面来简化用户操作。我们将使用现代JavaSc…...
APP软件测试:内容与方法剖析
随着移动互联网的迅猛发展,APP软件已成为我们日常生活中不可或缺的一部分。然而,一款优秀的APP不仅要有吸引人的功能和界面设计,更要有出色的稳定性和安全性 。因此,APP软件测试在开发过程中显得尤为重要。本文将全面解析APP软件测…...
为什么顶尖团队2026 Q1全部切换到Blazor Serverless模式:Server-Side无状态化改造的7步避坑清单
第一章:Blazor Serverless模式的演进逻辑与2026产业共识Blazor Serverless并非简单地将Blazor WebAssembly部署至函数计算平台,而是重构了UI生命周期、状态托管与服务编排的范式边界。其演进根植于三大技术张力:前端组件化与后端无状态化的收…...
Linux 时间同步服务:Chrony 深度笔记
Linux 时间同步服务:Chrony 深度笔记 NTP 时间服务器与 Chrony 的关系 1. 什么是 NTP 时间服务器 NTP(Network Time Protocol,网络时间协议)是用于在网络中(通常是互联网或局域网)同步计算机时钟的一种标准…...
OpenClaw与Notion联动:自动同步工作任务、整理笔记,实现高效管理
OpenClaw与Notion联动:构建智能化工作流系统引言在数字化工作环境中,任务管理与知识整理是提升效率的核心环节。OpenClaw作为自动化脚本工具与Notion的联动,可构建闭环式工作流系统。通过API接口实现数据双向同步,该系统能自动捕获…...
【Docker低代码配置黄金标准】:基于17家头部企业落地数据验证的8项必配参数清单
第一章:Docker低代码配置的演进逻辑与行业共识Docker 本身并非低代码平台,但其声明式配置范式(尤其是 docker-compose.yml 和 Dockerfile)天然契合低代码的核心思想——通过可读性强、结构化、可复用的文本描述替代重复性手工操作…...
Openclaw 高效数据采集实战指南
① 多源异构网站数据抓取场景解析 在实际的数据采集工作中,我们最常遇到的挑战并非技术本身的复杂度,而是目标源的“千奇百怪”。所谓的“多源异构”,简单来说就是你要抓的网站长得都不一样:有的还是十年前的老式 HTML 静态页&…...
Galgame翻译终极指南:3种文本捕获方案实现高效实时翻译
Galgame翻译终极指南:3种文本捕获方案实现高效实时翻译 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator LunaTranslator是一款专为视觉小说和Galgame设计的实时…...






