![](https://img-blog.csdnimg.cn/84816f882e7e49379147e55a4865826c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
AcWing 题库
文章平均质量分 61
AcWing题库
猫天意
我是天意,爱好广泛,喜欢学习、读书、探索未知的世界和有趣的事情,关注我,一起学习! 希望在这里能和大家一起进步,时间会给出最好的答案,星光不负赶路人,愿走出半生,你我归来仍是少年。
路漫漫其修远兮,吾将上下而求索。
展开
-
Algorithm | AcWing 3381. 手机键盘
请你计算按照手机键盘(9 键输入法)输入字母的方式,键入给定字符串(由小写字母构成)所花费的时间。具体键入规则和花费时间如下描述:对于同一键上的字符,例如 a,b,c 都在 “1” 键上,输入 a 只需要按一次,输入 c 需要连续按三次。如果连续两个字符不在同一个按键上,则可直接按,如:ad 需要按两下,kz 需要按 6 下。如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如 ac,在按了 a 之后,需要等一会儿才能按 c。现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。输入原创 2022-07-08 19:50:49 · 166 阅读 · 0 评论 -
AcWing 2022. 倍数 17
在意识到软件开发有很多钱可赚之后,农夫约翰开办了一家小型企业,为当地农业行业的客户编写简短的程序。原创 2022-05-07 13:04:59 · 307 阅读 · 0 评论 -
AcWing 2040. 礼物
问题描述农夫约翰想给他的 N 头奶牛购买礼物,但是他的预算只有 B 元。奶牛 i 希望获得的礼物的价格为 Pi,运输成本为 Si,也就是说约翰要帮奶牛 i 买礼物,共需花费 Pi+Si 元钱。约翰有一张特殊的优惠券,如果使用该优惠券来订购一份礼物,那么该礼物的价格会变为只有正常价格的一半。如果约翰用该优惠券给奶牛 i 买礼物,那么他只需要支付 ⌊Pi/2⌋+Si 元钱。请帮助约翰确定他最多可以给多少头奶牛购买礼物。输入格式第一行包含两个整数 N 和 B。接下来 N 行,每行包含两个整数 Pi原创 2022-05-06 15:43:15 · 143 阅读 · 0 评论 -
Algorithm | Acwing第17场周赛
文章目录一、AcWing 3971. 最小的商二、AcWing 3972. 方格集数量三、AcWing 3973. 无线网络一、AcWing 3971. 最小的商题目链接:AcWing 3971. 最小的商思路:排序对数组进行降序排序,找到第一个能够用k整除aia_iai的数字即可。时间复杂度:O(nlogn)O(nlogn)O(nlogn)代码(C++)#include <iostream>#include <cstring>#include <algor原创 2021-09-22 21:13:58 · 122 阅读 · 0 评论 -
AcWing 854. Floyd求最短路
问题描述:给定一个 nnn个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你判断图中是否存在负权回路。输入格式:第一行包含整数 nnn ,mmm。接下来 mmm 行每行包含三个整数 xxx,yyy,zzz,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式:如果图中存在负权回路,则输出“Yes”,否则输出“No”。数据范围1≤n≤2000,1≤n≤2000,1≤n≤2000,1≤m≤10000,1≤m≤10000,1≤m≤10000,图中原创 2021-08-28 09:57:56 · 152 阅读 · 0 评论 -
AcWing 852. spfa判断负环
问题描述:给定一个 nnn个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111号点走到 nnn 号点,则输出 impossible。输入格式:第一行包含整数 nnn ,mmm。接下来 mmm 行每行包含三个整数 xxx,yyy,zzz,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式:输出一个整数,表示 111 号点到 nnn 号点的最短距离。如果不存在满足条件的路径,则输出 im原创 2021-08-27 18:51:53 · 99 阅读 · 0 评论 -
AcWing 853. 有边数限制的最短路
问题描述:给定一个 nnn个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111号点走到 nnn 号点,则输出 impossible。输入格式:第一行包含整数 nnn ,mmm, kkk。接下来 mmm 行每行包含三个整数 xxx,yyy,zzz,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式:输出一个整数,表示 111 号点到 nnn 号点的最短距离。如果不存在满足条件的路径,则原创 2021-08-27 16:34:14 · 151 阅读 · 0 评论 -
AcWing849. Dijkstra求最短路 I
问题描述:给定一个nnn个点mmm 条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111号点走到 nnn 号点,则输出 −1−1−1。输出格式:输出一个整数,表示 111 号点到 nnn 号点的最短距离。如果路径不存在,则输出 −1−1−1。数据范围1≤n≤500,1≤n≤500,1≤n≤500,1≤m≤105,1≤m≤105,1≤m≤105,图中涉及边长均不超过 100001000010000。输入样例:3 3原创 2021-08-27 11:58:08 · 98 阅读 · 0 评论 -
AcWing 838. 堆排序
问题描述:输入一个长度为n的整数数列,从小到大输出前m小的数。输入格式:第一行包含整数n和m。第二行包含n个整数,表示整数数列。输出格式:共一行,包含m个整数,表示整数数列中前m小的数。数据范围1≤m≤n≤105,1≤m≤n≤105,1≤m≤n≤105,1≤数列中元素≤1091≤数列中元素≤1091≤数列中元素≤109输入样例:5 34 5 1 3 2输出样例:1 2 3C++代码:#include <iostream>#include <algori原创 2021-08-21 17:05:31 · 87 阅读 · 0 评论 -
AcWing 831. KMP字符串
问题描述给定一个模式串SSS,以及一个模板串PPP ,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串PPP 在模式串 SSS 中多次作为子串出现。求出模板串PPP在模式串SSS 中所有出现的位置的起始下标。输入格式:第一行输入整数 NNN ,表示字符串PPP的长度。第二行输入字符串PPP。第三行输入整数 MMM ,表示字符串SSS的长度。第四行输入字符串SSS。输出格式:共一行,输出所有出现位置的起始下标(下标从000开始计数),整数之间用空格隔开。注意,结果保留666位小数。原创 2021-08-12 16:53:26 · 82 阅读 · 0 评论 -
AcWing 790. 数的三次方根
问题描述给定一个浮点数nnn,求它的三次方根。输入格式:共一行,包含一个浮点数nnn。输出格式:共一行,包含一个浮点数,表示问题的解。注意,结果保留666位小数。数据范围−10000≤n≤10000−10000≤n≤10000−10000≤n≤10000输入样例:1000.00输出样例:10.000000思路1、不断二分区间找出满足的数原题链接#include <iostream>using namespace std;int main(){原创 2021-08-11 16:12:56 · 76 阅读 · 0 评论 -
AcWing 154. 滑动窗口
问题描述给定一个大小为 n≤106n≤10^6n≤106的数组。有一个大小为kkk的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到kkk个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为 [1 3 -1 -3 5 3 6 7],kkk为333。窗口位置最小值最大值[1 3 -1] -3 5 3 6 7-131 [3 -1 -3] 5 3 6 7-331 3 [-1 -3 5] 3 6 7-351 3 -1 [-3 5原创 2021-08-11 15:58:52 · 246 阅读 · 0 评论 -
AcWing 801. 二进制中1的个数
问题描述给定一个长度为nnn的数列,请你求出数列中每个数的二进制表示中111的个数。输入格式:第一行包含整数nnn。第二行包含nnn个整数,表示整个数列。输出格式:共一行,包含n个整数,其中的第iii个数表示数列中的第iii个数的二进制表示中1的个数。数据范围1≤n≤1000001≤n≤1000001≤n≤1000000≤0≤0≤数列中元素的值≤109≤10^9≤109输入样例:51 2 3 4 5输出样例:1 1 2 1 2思路原题链接C++代码:写法一:#inc原创 2021-08-10 22:20:34 · 127 阅读 · 0 评论 -
AcWing 803. 区间合并
问题描述给定nnn个区间[li[l_i[li, ri]r_i]ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3]和[2,6][1, 3] 和 [2, 6][1,3]和[2,6] 可以合并为一个区间[1,6][1, 6][1,6]。输入格式:第一行包含整数nnn。接下来nnn行,每行包含两个整数lll和rrr。输出格式:共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤100000,1≤n≤100000,1原创 2021-08-10 18:17:00 · 91 阅读 · 0 评论 -
AcWing 1346. 回文平方
问题描述回文数是指数字从前往后读和从后往前读都相同的数字。例如数字 123211232112321就是典型的回文数字。现在给定你一个整数BBB,请你判断1∼3001∼3001∼300之间的所有整数中,有哪些整数的平方转化为 BBB进制后,其BBB进制表示是回文数字。输入格式:一个整数BBB。输出格式:每行包含两个在BBB进制下表示的数字。第一个表示满足平方值转化为BBB进制后是回文数字那个数,第二个数表示第一个数的平方。所有满足条件的数字按从小到大顺序依次输出。数据范围2≤B≤202≤原创 2021-07-29 15:55:36 · 93 阅读 · 0 评论 -
AcWing 3783. 第 k 个除数
问题描述给定两个整数 n 和 k,请你找到并输出能够整除 n 的第 k 小的正整数。输入格式:一行,两个整数 n 和 k。输出格式:输出能够整除 n 的第 k 小的整数。如果不存在,则输出 −1。数据范围1≤n≤1015,1≤k≤109。输入样例1:4 2输出样例1:2输入样例2:5 3输出样例2:-1思路原题链接C++代码1:#include <iostream>#include <algorithm>using namesp原创 2021-07-28 21:30:52 · 95 阅读 · 0 评论 -
AcWing 89. a^b
问题描述求aaa的bbb次方对ppp取模的值。输入格式:三个整数 a,b,p ,在同一行用空格隔开。输出格式:输出一个整数,表示a^b mod p的值。数据范围0≤a,b≤1091≤p≤1090≤a,b≤1091≤p≤1090≤a,b≤1091≤p≤109输入样例:3 2 7输出样例:2思路原题链接C++代码1:#include <iostream>using namespace std;typedef long long LL;int qmi(原创 2021-07-18 16:21:24 · 102 阅读 · 0 评论 -
AcWing 3769. 移动石子
问题描述一共有nnn个箱子排成一排,从左到右依次编号为1∼n1∼n1∼n。其中,第iii号箱子中放有aiaiai个石子。现在,你可以进行最多ddd次操作。每次操作可以将一个石子从一个箱子移动至另一个与其相邻的箱子里。我们希望通过合理操作使得111号箱子内的石子数量尽可能大。请问,这个最大可能值是多少?输入格式:第一行包含整数TTT,表示共有TTT组测试数据。每组数据第一行包含两个整数nnn和ddd。第二行包含nnn个整数a1,a2,…,ana1,a2,…,ana1,a2,…,an。输出原创 2021-07-17 12:49:26 · 216 阅读 · 1 评论 -
AcWing 3761. 唯一最小数
问题描述给定一个长度为 n 的整数数组 a1,a2,…,ana1,a2,…,ana1,a2,…,an。请你找到数组中只出现过一次的数当中最小的那个数。输出找到的数的索引编号。a1a1a1的索引编号为111,a2a2a2的索引编号为222,…,ananan的索引编号为nnn。输入格式:第一行包含整数TTT,表示共有TTT组测试数据。每组数据第一行包含整数nnn。第二行包含 nnn 个整数 a1,a2,…,ana1,a2,…,ana1,a2,…,an。输出格式:每组数据输出一行结果,即满足条原创 2021-07-08 23:42:48 · 212 阅读 · 0 评论 -
AcWing 789. 数的范围
问题描述给定一个按照升序排列的长度为 n 的整数数组,以及qqq个查询。对于每个查询,返回一个元素kkk的起始位置和终止位置(位置从000开始计数)。如果数组中不存在该元素,则返回 -1 -1。输入格式:第一行包含整数nnn和qqq,表示数组长度和询问个数。第二行包含nnn个整数(均在1∼100001∼100001∼10000范围内),表示完整数组。接下来qqq行,每行包含一个整数kkk,表示一个询问元素。输出格式:共qqq行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组原创 2021-07-08 18:55:02 · 170 阅读 · 0 评论 -
AcWing 1015. 摘花生
问题描述Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。输入格式:第一行是一个整数TTT,代表一共有多少组数据。接下来是TTT组数据。每组数据的第一行是两个整数,分别代表花生苗的行数RRR和列数CCC。每组原创 2021-07-04 16:03:20 · 61 阅读 · 0 评论 -
AcWing 3629. 同心圆涂色
问题描述在一个平面上给定 n 个同心圆。如下图所示:这些同心圆构成的图形是蓝黄相间的,其中最外面的圆是蓝色。请问,这 n 个同心圆构成的图形中,蓝色部分的总面积是多少?输入格式:第一行包含整数nnn。第二行包含nnn个整数,r1,r2,…,rnr1,r2,…,rnr1,r2,…,rn,表示各个圆的半径。输出格式:输出蓝色部分的总面积。结果保留六位小数。数据范围1≤n≤100,1≤n≤100,1≤n≤100,1≤ri≤1000,1≤ri≤1000,1≤ri≤1000,所有圆的半径原创 2021-06-05 09:30:07 · 241 阅读 · 0 评论 -
AcWing 897. 最长公共子序列
问题描述给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。输入格式:第一行包含两个整数 N 和 M。第二行包含一个长度为 N 的字符串,表示字符串 A。第三行包含一个长度为 M 的字符串,表示字符串 B。字符串均由小写字母构成。输出格式:输出一个整数,表示最大长度。数据范围1≤N,M≤10001≤N,M≤10001≤N,M≤1000输入样例:4 5acbdabedc输出样例:3思路原题链接C++代码:原创 2021-05-05 10:49:46 · 200 阅读 · 0 评论 -
AcWing 895. 最长上升子序列
问题描述给定一个长度为NNN的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式:第一行包含整数NNN。第二行包含NNN个整数,表示完整序列。输出格式:输出一个整数,表示最大长度。数据范围1≤N≤1000,1≤N≤1000,1≤N≤1000,−109≤数列中的数≤109−109≤数列中的数≤109−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4思路dfs深度优先遍历,一条路走到黑。原题链接C++代码1:C++代码2:原创 2021-05-03 21:53:04 · 258 阅读 · 0 评论 -
AcWing 73. 数组中只出现一次的两个数字
问题描一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。你可以假设这两个数字一定存在。输入样例:[1,2,3,3,4,4]输出样例:[1,2]思路1、剔除除除出现一次的两个数字的其他数字。2、找出最后两个不同数字异或结果的第k位为1。3、将原nums数组分为两个集合,第k位为1的和第k位不是1的。4、在第k位为1的集合中做异或操作,转化为该集合中只出现一次的数字。5、将求得的该数字与sum做异或操作,即可求得另一个数字。原题链接原创 2021-05-01 15:54:25 · 84 阅读 · 0 评论 -
AcWing 842. 排列数字
问题描述给定一个整数n,将数字1 n1~n1 n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式:共一行,包含一个整数nnn。输出格式:按字典序输出所有排列方案,每个方案占一行。数据范围$1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1思路dp的思路,分为状态表示,和状态计算。原题链接C++代码:注:容易tleJava代码:...原创 2021-04-10 17:50:45 · 151 阅读 · 0 评论 -
AcWing 3. 完全背包问题
问题描述有NNN件物品和一个容量是VVV的背包,每种物品都有无限件可用。第iii件物品的体积是vivivi,价值是wiwiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式:第一行两个整数,N,V,N,V,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有NNN行,每行两个整数vi,wivi,wivi,wi,用空格隔开,分别表示第iii 件物品的体积和价值。输出格式:输出一个整数,表示最大价值。数据范围0<N,V≤1000原创 2021-04-10 10:28:54 · 112 阅读 · 0 评论 -
AcWing 2. 01背包问题
问题描述有NNN件物品和一个容量是VVV的背包。每件物品只能使用一次。第iii件物品的体积是vivivi,价值是wiwiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式:第一行两个整数,N,V,N,V,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有NNN行,每行两个整数vi,wivi,wivi,wi,用空格隔开,分别表示第iii 件物品的体积和价值。输出格式:输出一个整数,表示最大价值。数据范围0<N,V≤10000原创 2021-04-09 23:05:29 · 91 阅读 · 0 评论 -
AcWing 68. 0到n-1中缺失的数字
问题描述一个长度为n−1n−1n−1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围000到n−1n−1n−1之内。在范围000到n−1n−1n−1的nnn个数字中有且只有一个数字不在该数组中,请找出这个数字。输入样例:[0,1,2,4]输出样例:3思路二分即可。原题链接C++代码:class Solution {public: int getMissingNumber(vector<int>& nums) { if(nu原创 2021-04-08 11:33:26 · 102 阅读 · 0 评论 -
AcWing 3192. 出现次数最多的数
问题描述给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式:输入共两行,第一行包含整数nnn。第二行包含nnn个整数(所有整数均在 1∼1091∼10^91∼109 范围内),表示整个数列。输出格式:输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5思路1、归并排序与快速排序的区别就原创 2021-04-06 20:21:21 · 99 阅读 · 0 评论 -
浮点数二分
思想模板一:#include <iostream>using namespace std;int main(){ double x; cin >> x; double l = 0, r = x; while(r - l > 1e-8) { double mid = (l + r) / 2 ; if(mid * mid >= x ) r = mid; else原创 2021-04-05 11:12:57 · 102 阅读 · 0 评论 -
AcWing 898. 数字三角形
问题描述给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式:输入共两行,第一行包含整数nnn。第二行包含nnn个整数(所有整数均在 1∼1091∼10^91∼109 范围内),表示整个数列。输出格式:输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5思路原题链接C++代码:开原创 2021-04-04 17:09:58 · 382 阅读 · 0 评论 -
AcWing 787. 归并排序
给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include<iostream>#include<stdio.h> using namesp原创 2021-04-04 10:27:33 · 89 阅读 · 0 评论 -
AcWing 785. 快速排序
给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include<iostream>using namespace std;const int原创 2021-04-03 22:27:49 · 105 阅读 · 0 评论 -
AcWing 67. 数字在排序数组中出现的次数
问题描述统计一个数字在排序数组中出现的次数。例如输入排序数组[1,2,3,3,3,3,4,5][1,2,3,3,3,3,4,5][1,2,3,3,3,3,4,5] 和数字 333,由于 333 在这个数组中出现了 444 次,因此输出 444。输入样例:[1, 2, 3, 3, 3, 3, 4, 5] 3输出样例:4思路二分查找,找出第一个比k小的l,然后找出<=k的r r -left + 1即可。原题链接C++代码:O(logn)O(logn)O(logn)c原创 2021-04-03 19:06:18 · 106 阅读 · 0 评论 -
AcWing 104. 货仓选址
问题描述在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式:第一行输入整数 N。第二行 N 个整数 A1∼AN。输出格式:输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12思路1原题链接C++代码:写法1 O(logn)O(原创 2021-04-03 10:49:19 · 134 阅读 · 0 评论 -
AcWing 77. 翻转单词顺序
问题描述输入一个英文句子,单词之间用一个空格隔开,且句首和句尾没有多余空格。翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student.",则输出"student. a am I"。样例:输入:"I am a student."输出:"student. a am I"思路1、翻转整个字符串。2、利用双指针来做,但是要注意指针的更新。3、对每个单词的处理, 如果不是空格,并且j < s.size() j+原创 2021-03-29 22:33:37 · 194 阅读 · 0 评论 -
AcWing 85. 不用加减乘除做加法
问题描述写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、×、÷ 四则运算符号。样例:3 4输入:num1 = 1 , num2 = 2输出:3思路1、A ^ B 是不进位加法,(A & B) << 1是进位加法,(A + B)二进制 的加法 就是 不进位加法 + 进位2、如果加起来 还是用到了加法、所以在此 想到了 迭代一个数值、因为是int类型占4个字节,也就是32bit位,最多迭代32次( 每次都是 << 1 末尾补0)即可,此循环就会终原创 2021-03-28 09:15:13 · 90 阅读 · 0 评论 -
AcWing 3174. 旋转
问题描述图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转909090度。我们用一个n×mn×mn×m的二维数组来表示一个图片,例如下面给出一个3×43×43×4的图片的例子:1 3 5 79 8 7 63 5 9 7这个图片顺时针旋转 90 度后的图片如下:3 9 15 8 39 7 57 6 7给定初始图片,请计算旋转后的图片。输入格式:输入的第一行包含两个整数nnn和mmm,分别表示行数和列数。接下来nnn行,每行mmm个整数,表示给定的图片。图片中原创 2021-03-23 23:41:38 · 84 阅读 · 0 评论 -
AcWing 3267. 小明上学
问题描述小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯rrr秒,黄灯yyy秒,绿灯ggg秒,那么从000时刻起,[0,r)[0,r)[0,r) 秒内亮红灯,车辆不许通过;[r,r+g)[r,r+g)[r,r+g)秒内亮绿灯,车辆允许通过;[r+g原创 2021-03-21 12:55:26 · 80 阅读 · 0 评论