丙组专题

上海计算机学会2023年9月月赛C++丙组T2Z形填充

题目描述 给定一个整数 n,再给定 n2 个字符,请将这些字符以 z 形排成一个 n×n 的矩阵。 z 形的定义是,第一个字符在左上角,然后沿对角线以 z 形放置字符。对于 n=4 ,z 形排列的先后顺序标记如下: 输入格式 第一行:单个整数表示 n第二行:n2 个可见字符表示给定的字符序列 输出格式 n 行 n 列个以 z 形排列的字符 数据范围 50% 的数据,1≤n≤51

上海计算机学会2021年1月月赛C++丙组T2康托表

题目背景 康托是一名数学家,他证明了一个重要的定理,需要使用一张表: 这个表的规律是: 从上到下:每一行的分子依次增大;从左到右:每一列的分母依次增大。 康托以一种不重复、不遗漏的方式,将表上所有数字列举了出来。方法如下:从左上角的 1/1 出发, Z 字形扫描,其中: 第一项是 1/1;第二项是 1/2、第三项是 2/1第四项是 3/1,第五项是 2/2,第六项是 1/3接下来几项

上海计算机学会2023年9月月赛C++丙组T1口令的分类

题目描述 给定一串字符序列,请检查它是否符合成为口令的条件,并判断它的强弱。一个合规的口令,需要满足以下两个必要条件: 长度至少为 88,至多为 1616。只包含以下类型的字符 大写字母。小写字母。数字。标点符号。符合要求的标点符号如下:# & ' ^ " _ = ~ ? ! , . ; : + - * % / | \ ( ) [ ] { } < > 如果一个字符序列包含上述四种字符中的至少

上海计算机学会2022年4月月赛C++丙组T3平衡括号(简)

题目描述 给定一个只包含 ( 与 ) 的括号序列,请删除尽量少的括号,使它变成平衡的。平衡的定义如下: 空序列是平衡的;如果某个括号序列 s 是平衡的,那么 (s) 也是平衡的;如果某两个括号序列 s 与 t 都是平衡的,那么 st 也是平衡的。 输入格式 单个字符序列:表示输入的序列,保证只包含 ( 与 )。 输出格式 单个整数:表示最少删去多少个括号才能使输入序列变成平衡的。 数

上海计算机学会2020年7月月赛C++丙组T3数根

题目描述 给定一个正整数 n,若 n 在十进制下的各位数字之和小于1010,则这个和是 n 的数根。否则,继续求这个和在十进制下的各位数字之和,直到结果小于1010为止,定义最后的结果为 n 的数根。 例如,999999 的数根为 99,因为 9+9+9=279+9+9=27,继续分解得 2+7=92+7=9。给定 n,请输出它的数根。注意,有一部分 n 非常大。 输入格式 单个整数,表示

上海计算机学会2022年9月月赛C++丙组T3阶乘尾零

题目描述 给定一个整数 n,n 的阶乘定义为 n!=1×2×⋯×n 请计算在 n! 的十进制表示中,末尾有多少个连续的 00? 例如 n=5,则n!=120,末尾有 11 个 00,又12!=47900160012!=479001600,末尾有 22 个 00。 输入格式 单个整数表示 n。 输出格式 单个整数表示 n! 中末尾零的个数。 数据范围 对于 30%30% 的数据,

上海计算机学会 2024年4月月赛 丙组T3 交换的次数

第三题:T3交换的次数 标签:逆序数、思维、前缀和题意:给定一个长度为 n n n的 01 01 01序列, 1 1 1和 0 0 0相邻就将 1 1 1调后面去,问最终调换的次数。( 1 ≤ n ≤ 300 , 000 1≤n≤300,000 1≤n≤300,000)题解:很典型的一个逆序数,求每个数后面有多少的比自己小的数,因为 n n n比较大,两层循环去求逆序数肯定会超时,这边可以通过归

上海计算机学会 2024年4月月赛 丙组T1 最大公约数

第一题:T1最大公约数 标签: g c d gcd gcd题意:求 a a a和 b b b的最大公约数( 1 ≤ a , b ≤ 1 , 000 , 000 , 000 1≤a,b≤1,000,000,000 1≤a,b≤1,000,000,000)题解:辗转相除法 g c d ( a , b ) = g c d ( b , a % b ) gcd(a,b)=gcd(b,a\%b) gcd(a

上海计算机学会4月月赛 丙组题解

上海计算机学会 4 月月赛 丙组题解本次比赛涉及知识点: g c d gcd gcd、字符串、逆序数、思维、前缀和、结构体排序、 b f s bfs bfs 比赛链接:https://iai.sh.cn/contest/61 第一题:T1最大公约数 标签: g c d gcd gcd题意:求 a a a和 b b b的最大公约数( 1 ≤ a , b ≤ 1 , 000 , 000 , 00

上海计算机学会2022年11月月赛C++丙组T3最长平台

题目描述 给定一个整数数列 a1​,a2​,…,an​,请找出最长平台。所谓平台,就是指数列中一段连续的、完全相等的数字,单个数字也可以成为一个平台。最长平台可能不止一个,在找到最长平台的同时,输出最长平台的数量。 输入格式 第一行:单个整数 n 第二行:a1​,a2​,…,an​ 输出格式 两个整数:表示最长平台的长度与最长平台的数量 数据范围 对于 50%50% 的数据,n≤10

上海计算机学会2021年1月月赛C++丙组T4三倍游戏

题目描述 三倍游戏是一种单人游戏。玩家会得到 n 个整数a1​,a2​,…,an​。玩家从这些整数中挑出两个数字相加,如果它们的和是 3 的倍数,则可以将这两个整数消除,如此反复,直到不能再消除数字为止。 请问玩家最多能消除多少对数字? 输入格式 第一行:单个整数 n; 第二行:n 个整数a1​,a2​,⋯,an​。 输出格式 单个整数表示答案。 数据范围 1≤ai​≤1,000,

上海计算机学会2022年2月月赛C++丙组T2自由配对

题目描述 有 �n 名同学,编号分别为 1 到 n,我们需要将他们两两配对组成队伍。 每名同学有且只有一个愿意组队的对象,其中第 i 名同学的组队对象是 ai​。若 �i 的组队对象是 j 而 j 的组队对象也是 i,那么这两位同学可以组队。 请这些同学可以组成多少个配对。 输入格式 第一行:一个整数 n第二行:n 个 整数 1,2,…,a1​,a2​,…,an​,其中 ai​ 表示i

上海计算机学会 2023年10月月赛 丙组T2 颁奖典礼(思维)

第二题:T2颁奖典礼 标签:思维题意: n n n个学生参加颁奖典礼,学号为 1 1 1到 n n n。学生根据获奖等第依次上台领奖。已知学号为 i i i的学生是第 a i a_i ai​个上台领奖的。输出学生上台领奖的学号顺序。题解:以第 a i a_i ai​上台领奖作为下标,每个人的顺序作为值,形成一个新的数组,输出即可。代码: #include <bits/stdc++.h>us

上海计算机学会 2024年3月月赛 丙组T4 交易记录(map)

第四题:T4交易记录 标签: m a p map map题意:给定 n n n条股票买入卖出操作,有对应的交易单价 a i a_i ai​和交易数量 b i b_i bi​,分别将多笔买入卖出交易价格相同的进行交易数量合并。买入记录按照交易价格从低到高排序,卖出记录按照交易价格从高到低排序。题解:按照题意进行模拟,分买入和卖出两种情况,可以通过两个结构体分别进行存储,存储之后分别按照题目中给定的

上海计算机学会 2024年3月月赛 丙组T1 最近的数字(数学)

第一题:T1最近的数字 标签:数学题意:给定两个正整数 n n n与 d d d,请找到所有最接近 n n n且是 d d d的倍数的整数。如果有多个数字满足要求,从小到大输出。数据范围: 1 ≤ n , d ≤ 1 , 000 , 000 , 000 1≤n,d≤1,000,000,000 1≤n,d≤1,000,000,000题解:通过 ( n / d ) ∗ d (n/d)*d (n/d)

上海市计算机学会竞赛平台(iai.sh.cn)十二月月赛(丙组)解题报告

多边形的内角和 内存限制: 256 Mb时间限制: 1000 ms 题目描述 一个 n 条边的多边形,其内角和公式为 180 × ( n − 2 ) 180\times(n-2) 180×(n−2)。给定 n,请计算并输出 n 边形的内角和。 输入格式 单个整数:表示 n。 输出格式 单个整数:表示 n 边形的内角和。 数据范围 3 ≤ n ≤ 100 3\leq n\l

上海市青少年算法2023年11月月赛(丙组)

上海市青少年算法2023年11月月赛(丙组) T1、刷题 内存限制: 256 Mb时间限制: 1000 ms 题目描述 小爱每天可以完成 m 道题目,如果她需要做完 n 道题目,需要多少天? 输入格式 第一行:单个整数表示 n 第二行:单个整数表示 m 输出格式 单个整数:表示答案 数据范围 1≤n≤1,000,000,000 1≤m≤1,000,000 样例数据 输入: 10 3 输出: 4

上海市青少年算法2023年9月月赛(丙组)

上海市青少年算法2023年9月月赛(丙组) T1 口令的分类 题目描述 给定一串字符序列,请检查它是否符合成为口令的条件,并判断它的强弱。一个合规的口令,需要满足以下两个必要条件: 长度至少为 8,至多为 16。 只包含以下类型的字符 大写字母。 小写字母。 数字。 标点符号。符合要求的标点符号如下: # & ' ^ " _ = ~ ? ! , . ; : + - *%/|\()[]{}<> 如

上海市青少年算法2023年8月月赛(丙组)

上海市青少年算法2023年8月月赛(丙组) T1 幸运儿 题目描述 有 n 个人围成一圈,按顺时针编号分别为 1..n。小爱从编号为 x 的人开始,沿顺时针给每个人发小礼物。但可惜她手里只有 m 份小礼物,发完即止。 其中最后一个拿到小礼物的人,我们称为 “幸运儿” ,会得到一份额外大奖。请你帮忙计算出,这个 “幸运儿” 的编号。 输入格式 输入共两行: 第一行,两个正整数 n,x 第二行,一个

上海市青少年算法2023年8月月赛(丙组)

上海市青少年算法2023年8月月赛(丙组) T1 幸运儿 题目描述 有 n 个人围成一圈,按顺时针编号分别为 1..n。小爱从编号为 x 的人开始,沿顺时针给每个人发小礼物。但可惜她手里只有 m 份小礼物,发完即止。 其中最后一个拿到小礼物的人,我们称为 “幸运儿” ,会得到一份额外大奖。请你帮忙计算出,这个 “幸运儿” 的编号。 输入格式 输入共两行: 第一行,两个正整数 n,x 第二行,一个