赛丙组专题

上海市计算机学会竞赛平台2024年7月月赛丙组求和问题

题目描述 给定 nn 个整数 a1,a2,…,ana1​,a2​,…,an​,请问这个序列最长有多少长的前缀,满足元素的和大于或等于 00?如果任何长度大于 00 的前缀之和都为负数,则输出 00 输入格式 第一行:单个整数表示 nn第二行:nn 个整数表示 a1,a2,…,ana1​,a2​,…,an​ 输出格式 单个整数:表示最长的前缀长度,使得前缀的和大于等于 00 数据范围

上海市计算机学会竞赛平台2024年8月月赛丙组等差数列的素性

题目描述 给定三个整数 nn,aa 与 dd,表示一个项数为 nn 的等差数列,首项为 aa,公差为 dd。 请统计,从这个等差数列中有多少数字是素数 输入格式 三个整数: nn,aa 与 dd 输出格式 单个整数:表示素数数量 数据范围 50%50% 的数据,1≤n≤10001≤n≤1000100%100% 的数据,1≤n≤100001≤n≤100001≤d≤10001≤d≤10

上海市计算机学会竞赛平台2024年8月月赛丙组调和级数

题目描述 给定一个整数 nn,记 ⌊x⌋⌊x⌋ 表示不超过实数 xx 的最大整数,请求出 ⌊n1⌋+⌊n2⌋+⌊n3⌋+⋯+⌊nn−1⌋+⌊nn⌋⌊1n​⌋+⌊2n​⌋+⌊3n​⌋+⋯+⌊n−1n​⌋+⌊nn​⌋ 输入格式 单个整数:表示 nn 输出格式 单个整数:表示答案 数据范围 30%30% 的数据,n≤1,000n≤1,00060%60% 的数据,n≤1,000,000n≤

上海市计算机学会竞赛平台2023年9月月赛丙组

题目描述 一开始,你只有一个数字𝑠s,𝑠s 只可能为 00 或 11。接下来,你需要将这个数字扩张 𝑛n 轮,最后变成一个 2𝑛×2𝑛2n×2n 的矩阵,每轮的扩张规则如下: 原矩阵中的每个 00 将变成 000100​01​原矩阵中的每个 11 将变成 111011​10​ 输入格式 两个整数分别表示 𝑛n 与 𝑠s 输出格式 2𝑛×2𝑛2n×2n 的矩阵表示答案,

上海市计算机学会竞赛平台2024年1月月赛丙组星号三角阵(三)

题目描述 给定一个整数 𝑛n,输出一个 𝑛n 行 𝑛n 列的星号三角阵,直角位于图形的右上角。 例如当 𝑛=4n=4 时,输出 ********** 输入格式 单个整数表示 𝑛n。 输出格式 共 𝑛n 行:表示一个星号三角阵。 数据范围 1≤𝑛≤1001≤n≤100 样例数据 输入: 3 输出: ***  **   * 详见代码: #include<

上海计算机学会2024年5月月赛丙组距离之和

题目描述 设 (𝑥,𝑦)(x,y) 与 (𝑥′,𝑦′)(x′,y′) 是平面上的两个点的坐标,它们之间的城市距离定义为 ∣𝑥−𝑥′∣+∣𝑦−𝑦′∣∣x−x′∣+∣y−y′∣ 给定 𝑛n 个点,请计算所有点对之间的城市距离之和。 输入格式 第一行:单个整数 𝑛n。第二行到第 𝑛+1n+1 行:第 𝑖+1i+1 行有两个整数 𝑥𝑖xi​ 和 𝑦𝑖yi​,表示一

上海市计算机学会竞赛平台2023年2月月赛丙组格式改写

题目描述 给定一个仅由拉丁字符组成字符序列,需要改写一些字符的大小写,使得序列全部变成大写或全部变成小写,请统计最少修改多少个字符才能完成这项任务。 输入格式 一个字符序列:保证仅由拉丁字符构成 输出格式 单个整数:表示最少修改次数 数据范围 设输入的字符数量为 𝑛n,则保证 1≤𝑛≤100,0001≤n≤100,000 样例数据 输入: TheQuickBrownFoxJ

上海市计算机学会竞赛平台2024年3月月赛丙组最近的数字

题目描述 给定两个正整数 𝑛n 与 𝑑d ,请找到所有最接近 𝑛n 且是 𝑑d 的倍数的整数。 输入格式 第一行:单个整数表示 𝑛n第二行:单个整数表示 𝑑d 输出格式 若干行:每行一个整数,表示满足要求的答案,若有多个数字满足要求,则以从小到大的顺序输出。 数据范围 1≤𝑛≤1,000,000,0001≤n≤1,000,000,0001≤𝑑≤1,000,000,00

上海市计算机学会竞赛平台2022年4月月赛丙组闰年的判定

题目描述 给定一个正整数 𝑦y 表示一个年份,请判定 𝑦y 年是否为闰年,闰年分普通闰年与世纪闰年: 普通闰年的年份是 44 的倍数,但不能是 100100 的倍数;世纪闰年的年份是 400400 的倍数。 输入格式 单个整数:表示 𝑦y。 输出格式 若是闰年,输出 Leap year;若不是闰年,输出 Common year; 数据范围 1≤𝑦≤100001≤y≤1000

上海市计算机学会竞赛平台2020年10月月赛丙组时间格式

题目描述 某总时间为 𝑛n 秒。请将它转换成以小时、分钟和秒组成的时间格式,中间以冒号 : 分割。 例如 𝑛=3600n=3600,输出 1:0:0,因为 36003600 秒恰好为一小时。 输入格式 单个整数:表示 𝑛n。 输出格式 三个整数,用冒号 : 分隔。第一个数表示小时,第二个数表示分钟,第三个数表示秒数。 数据范围 0≤𝑛≤1,000,000,0000≤n≤1,

上海市计算机学会竞赛2023年11月月赛丙组

1.刷题 #include<iostream>using namespace std;int main(){int n,m,a;cin>>n>>m;if(n%m!=0){a=n/m+1;}if(n%m==0){a=n/m;}cout<<a;} 2.染色 #include<iostream>#include<algorithm>using namespace std;long lo