AtcoderABC258场

A - When? A - When?

在这里插入图片描述在这里插入图片描述

题目大意

给定一个整数K,表示从日本标准时间21:00开始经过的分钟数。要求将该时间转换为24小时制的时间(HH:MM格式)。

思路分析

可直接分时间打印。关于格式,填充0,打印时间,题解有三种方法:
1.转换成字符,+0
2.规定输出长度,填充0
3.用printf函数指定的数据格式化为字符串并进行输出

时间复杂度

O(1)

代码

1.Defining an original function

#include <iostream>
#include <string>
using namespace std;string fix(int x) {if (x < 10) {return string{'0'} + to_string(x);} else {return to_string(x);}
}int main() {int X;cin >> X;int H = X < 60 ? 21 : 22;int M = X % 60;cout << H << ':' << fix(M) << '\n';
}

2.Using std::setfill and std:::setw

#include <iostream>
#include <iomanip>
using namespace std;int main() {int X;cin >> X;int H = X < 60 ? 21 : 22;int M = X % 60;cout << H << ':' << setw(2) << setfill('0') << M << '\n';return 0;
}
  1. Using std::printf
#include <iostream>
#include <cstdio>
using namespace std;int main() {int X;cin >> X;int H = X < 60 ? 21 : 22;int M = X % 60;printf("%d:%02d", H, M);return 0;
}

B - Number Box

在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

给定一个正整数N和一个N×N的网格,每个方格上都有一个数字。Takahashi从网格中选择一个起始方格,并沿着指定的方向移动N-1次,路径包括起始方格。求所经过方格上数字按访问顺序排列得到的最大整数。

思路分析

穷举法。枚举。
求所有可能路径经过的方格上的数字按访问顺序组成的整数的最大值。由于起点是自由选择的,我们可以枚举所有可能的起点,然后尝试所有八个方向的移动,并计算每条路径对应数字的最大值。

时间复杂度

O(N4)

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {int n;cin>>n;ll ans=0;vector<vector<ll>> a(n,vector<ll>(n));for(int i=0;i<n;i++){for(int j=0;j<n;j++){char c;cin>>c;a[i][j]=c-'0';}}vector<int> p={1,1,1,0,0,-1,-1,-1},q={1,0,-1,1,-1,1,0,-1};for(int i=0;i<n;i++){for(int j=0;j<n;j++){for(int k=0;k<8;k++){ll now=0;ll x=i,y=j;for(int l=0;l<n;l++){now*=10;now+=a[x][y];x+=p[k];y+=q[k];x%=n;x+=n;y%=n;y+=n;x%=n;y%=n;}ans=max(ans,now);}}}cout<<ans<<endl;
}

C - RotationC - Rotation

在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

给定一个字符串S和一系列查询操作,其中查询操作有两种类型。第一种类型是将S的最后一个字符删除并添加到开头,第二种类型是打印S中指定位置的字符。需要根据查询操作的要求进行处理并输出结果。

思路分析

注意只知道原字符串的初始位置。找后来的头与原字符串的位置关系。
根据题目要求,对于第一种类型的查询操作,我们需要维护一个变量it,表示当前字符串起始位置(即最后一个字符移动到的位置)。通过取模运算,可以实现将最后一个字符删除并添加到开头的效果。

时间复杂度

O(Q)

代码

#include <bits/stdc++.h>
using namespace std;int main() {int n, q;cin >> n >> q;string s;cin >> s;int it = 0;while (q--) {int op, x;cin >> op >> x;if (op == 1) {it = (it - x + n) % n;} else {x--;cout << s[(it + x) % n] << endl;}}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git学习笔记

up:b站迷斯特航 两个版本的项目版本控制&#xff1a; 分支操作&#xff1a; 基本操作&#xff1a; 克隆远程项目到本地&#xff1a; git clone https://github.com/zhoeujei/rknn-coal-ai.git 修改提交到本地仓库&#xff1a;git add rknn_yolov5_demo/CMakeLists.txt&#…

使用C语言连接MySQL

目录 一、引入库 1.1 下载库文件 1.2 在项目中引入库 二、使用库 2.1 连接数据库 2.2 SQL请求 2.3 获取查询结果 2.4 使用案例 一、引入库 1.1 下载库文件 要使用C语言连接MySQL&#xff0c;需使用MySQL官网提供的库 MySQL :: Download Connector/Chttps://dev.mysq…

unbuntu 22.04 安装和卸载企业微信

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 记录有关在ubuntu22.04上安装和卸载企业微信 以及企业微信无法打开问题处理 1. 正文 1.1 安装 下载wine环境 http://archive.ubuntukylin.com/softwar…

【动手学习深度学习--逐行代码解析合集】15卷积神经网络(LeNet)

【动手学习深度学习】逐行代码解析合集 15卷积神经网络&#xff08;LeNet&#xff09; 视频链接&#xff1a;动手学习深度学习–卷积神经网络&#xff08;LeNet&#xff09; 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v2.d2l.ai/ 1、LeN…

IDEA中 application.yaml文件没有绿色的叶子

IDEA中 application.yaml文件没有绿色的叶子 问题背景 前段时间一直在刷算法题和备战考试&#xff0c;忽略了项目方面的锻炼&#xff0c;于是今天就想着来写一个练手的项目&#xff0c;重新熟悉一下技术栈。结果刚搭建一个SpringBoot项目&#xff0c;就发现application.yaml配…

第三方ipad电容笔哪个品牌好用?平板电容笔推荐

可能很多人都认为&#xff0c;苹果原装的电容笔&#xff0c;是不可取代&#xff0c;但我认为&#xff0c;这还要看个人的预算&#xff0c;以及实际的需求。苹果Pencil对于那些不太讲究画质的用户来说实在是太贵了&#xff0c;要是我们仅用于书写上&#xff0c;其实我们可以用平…

java动态导出excel头

java动态导出excel头 java根据动态头导出excel文件一、需求背景1、调用接口将表头传给给后端2、请求结果展示3、核心代码1、工具类&#xff0c;注意异常抛出类如报错&#xff0c;需自定义异常类2、标题设置类3、单元各简单设置类4、controller接收参数 java根据动态头导出excel…

LeetCode 203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 &#xff08;1&#xff09;直接使用原来的链表来进行移除节点操作&#xff1a; //不带头结点删除元素节点 class Solution { public:Lis…

ssh配置多账号(Mac)

一. 应用场景 当存在同时需要git在GitHub、gitee、gitlab等多个不同git托管平台进行ssh代码操作的时候。 二. 具体操作 默认 ssh-keygen -t rsa -C "你的邮箱"之后一直回车就可以&#xff0c;会默认在~/.ssh目录下生成id_rsa、id_rsa.pub 指定文件 ssh-keygen …

Git Commit的规范及高级使用方法

git commit是日常工作中使用率极高的一个命令&#xff0c;但是根据我从业5年的经验来看&#xff0c;大多数人在用git commit命令时都很粗糙&#xff0c;比如git commit -m 后跟的message是五花八门&#xff0c;有用中文的&#xff0c;有用英文的&#xff0c;甚至还有直接跟111的…

Codeforces Round 882 (Div. 2)(视频讲解A——D)

[TOC](Codeforces Round 882 (Div. 2)&#xff08;视频讲解A——D&#xff09;) 讲解在B站&#xff1a;Codeforces Round 882 (Div. 2)&#xff08;视频讲解A——D&#xff09; A The Man who became a God #include<bits/stdc.h> #define endl \n #define INF 0x3f3…

【分布式应用】zookeeper集群

目录 一、zookeeper概述1.1zookeeper工作机制1.2Zookeeper 数据结构1.3Zookeeper 应用场景1.4Zookeeper 选举机制第一次启动选举机制**非第一次启动选举机制 二、部署 Zookeeper 集群2.1环境配置2.2安装 Zookeeper 一、zookeeper概述 Zookeeper是一个开源的分布式的&#xff0c…