- 博客(114)
- 收藏
- 关注
原创 洛谷: P1681 最大正方形II
忙完了学校的事,v 神终于可以做他的“正事”:陪女朋友散步。一天,他和女朋友走着走着,不知不觉就来到了一个千里无烟的地方。v 神正要往回走,如发现了一块牌子,牌子上有有一行小字和一张图,小字说道:“找到图上最大的交错正方形之后和我联系,这块地就是你的了。”在房价疯长的年代,v 神当然不愿错过这个机会,于是开始找了起来……以 v 神的能力当然找不出来了,你能帮 v 神找出来吗?
2025-06-20 17:22:09
360
原创 洛谷:P5661 [CSP-J2019] 公交换乘
tbus−tsubway≤45现在你得到了小轩最近的公共交通出行记录,你能帮他算算他的花费吗?
2025-06-19 15:57:22
1300
原创 洛谷:P9748 [CSP-J 2023] 小苹果
小 Y 的桌子上放着n个苹果从左到右排成一列,编号为从1到n。小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔2个苹果拿走1个苹果。随后小苞会将剩下的苹果按原先的顺序重新排成一列。小苞想知道,多少天能拿完所有的苹果,而编号为n的苹果是在第几天被拿走的?
2025-06-19 15:21:22
933
原创 洛谷: P10233 [yLCPC2024] A. dx 分计算
你说的对,但舞萌 DX 是一款由 SEGA 开发,华立科技代理,形似洗衣机的街机音乐游戏。只要看准时机拍到所有的音符就好啦!
2025-06-18 15:19:44
680
原创 洛谷: P5639 【CSGRound2】守序者的尊严
由于 Y 校最近进行了对学校食堂的全面改革与对小卖部的全面整治(乱搞),导致学校小卖部卖的零食被禁售了;学校食堂的炸鸡窗口也消失了;并且学校的学生处 Q 主任严禁学生点外卖,日夜监察。都说民以食为天,由于整天挨饿,全校同学处于水深火热之中。
2025-06-18 14:43:12
808
原创 洛谷:P5514 [MtOI2019] 永夜的报应
在这世上有一乡一林一竹亭,也有一主一仆一仇敌。有人曾经想拍下他们的身影,却被可爱的兔子迷惑了心神。那些迷途中的人啊,终究会消失在不灭的永夜中……
2025-06-18 14:00:24
683
原创 洛谷:P5682 [CSP-J2019 江西] 次大值
Alice 有n个正整数,数字从1∼n编号,分别为a1a2an。Bob 刚学习取模运算,于是便拿这n个数进行练习,他写下了所有aimodaj1≤ij≤n∧ij的值,其中mod表示取模运算。Alice 想知道所有的结果中,严格次大值是多少。将取模后得到的所有值进行去重,即相同的结果数值只保留一个,剩余数中第二大的值就称为严格次大值。
2025-06-15 17:57:37
568
原创 atcoder [ABC271D] Flip and Adjust
両面に整数が書かれたカードがN枚あり、i1≤i≤N枚目のカードの表には $ a_i $ が、裏にはbiが書かれています。あなたは、それぞれのカードについて、表を上に向けて置くか裏を上に向けて置くかを自由に決めることができます。上に向けられた面に書かれた整数の総和がちょうど $ S $ となるようにカードを置くことができるか判定し、可能ならそのようなカードの置き方の一例を求めてください。
2025-06-13 22:19:57
847
原创 洛谷:B3799 [NICA #1] 序列
小 A 有一个长度为n的序列a1a2an。1 kk2子序列指的是从原序列中去除某些元素(也可以不去除),但不破坏余下元素的相对位置形成的新的序列。例如,对于序列23456,那么234246都是它的子序列,而654不是。子序列可以为空,此时子序列和为0。
2025-06-13 22:02:15
1167
原创 洛谷:B4163 [BCSP-X 2024 12 月初中组] 序列选择
dp[i][0]:表示第i个元素选择a序列时,前i个序列的最小和。dp[i][1]:表示第i个元素选择b序列时,前i个序列的最小和。
2025-06-13 21:28:14
907
原创 选举学生会
题目描述学校正在选举学生会成员,有 n(n\le 999)n(n≤999) 名候选人,每名候选人编号分别从 1 到 nn,现在收集到了 m(m<=2000000)m(m<=2000000) 张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入格式输入 nn 和 mm 以及 mm 个选票上的数字。输出格式求出排序后的选票编号。输入输出样例输入 #1复制5 102 5 2 2 5 2 2 2 1 2输出 #1复制1 2 2 2 2 2
2021-11-04 11:43:01
479
原创 41:判断元素是否存在
描述有一个集合M是这样生成的: (1) 已知 k 是集合 M 的元素; (2) 如果 y 是 M 的元素,那么, 2y+1 和 3y+1 都是 M 的元素; (3) 除了上述二种情况外,没有别的数能够成为 M 的一个元素。问题:任意给定 k 和 x,请判断 x 是否是 M 的元素。这里的 k是无符号整数,x 不大于 100000, 如果是,则输出YES,否则,输出 NO输入输入整数 k 和 x, 逗号间隔。输出如果是,则输出 YES,否则,输出NO样例输入0,22样例输出YES来源元
2021-04-30 18:02:51
395
1
原创 26:字符串最大跨距
描述有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。想检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的右边界点在S2的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。如果没有满足条件的S1,S2存在,则输出-1。例如,S = “abcd123ab888efghij45ef67kl”, S1=“ab”, S2=“ef”,其中,S1在S中出现了2次,S2也在S中出
2021-04-28 23:03:24
513
原创 25:最长最短单词
描述输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。输入一行句子。输出两行输出:第1行,第一个最长的单词。第2行,第一个最短的单词。样例输入I am studying Programming language C in Peking University样例输出ProgrammingI提示如果所有单词长度相同,那么第一个单词既是最长单词也是最短
2021-04-28 22:16:11
859
原创 24:单词的长度
描述输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。输入一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。输出依次输出对应单词的长度,之间以逗号间隔。样例输入She was born in 1990-01-02 and from Beijing city.样例输出3,3,4,2,10,3,4
2021-04-28 21:47:19
321
原创 23:过滤多余的空格
描述一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。输入一行,一个字符串(长度不超过200),句子的头和尾都没有空格。输出过滤之后的句子。样例输入Hello world.This is c language.样例输出Hello world.This is c language.#include <bits/stdc++.h>using namespace std;int main(){ char s[200]; vector<s
2021-04-28 21:41:32
663
原创 22:紧急措施
描述近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。输入第一行为你的email地址,长度不超过50个字符且只包含字母、数字和‘@’符号。第二行为账号数N,N(0 < N < 10000)。接下来N行,每行表
2021-04-28 21:20:36
1253
原创 21:单词替换
描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入输入包括3行,第1行是包含多个单词的字符串 s;第2行是待替换的单词a(长度 <= 100);第3行是a将被替换的单词b(长度 <= 100).s, a, b 最前面和最后面都没有空格.输出输出只有 1 行,将s中所有单词a替换成b之后的字符串。样例输入You want som
2021-04-28 20:49:13
777
原创 20:删除单词后缀
#include <bits/stdc++.h>using namespace std;int main(){string s,sub;char c1,c2,c3;int len;cin>>s;len=s.length();if(len>=3){c1=s[len-1];c2=s[len-2];c3=s[len-3];if(c1==‘r’ && c2==‘e’ || c1==‘y’&&c2==‘l’){sub = s
2021-04-28 17:12:04
623
原创 19:字符串移位包含问题
描述对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。输入一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。输出如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,
2021-04-26 23:02:04
830
原创 上网统计(vector练习)
在一网络系统中有N个用户、M次上网记录。每个用户可以自己注册一个用户名,每个用户名是一个只含小写字母且长度小1000的字符串。每个上网的帐号每次上网都会浏览网页,网页名是以一个只含小写字母且长度小于1000的字符串,每次上网日志里都会有记录,现在请统计每个用户每次浏览了多少个网页。保证每个用户浏览的网站不重复。输入第1行,包含两个用1个空格隔开的正整数N(1<=N<=1000)和M(1<=M<=5000)。 第2~M+1行,每行包含2个用1个空格隔开的字符串,分别表示用户名和浏览
2021-04-26 22:34:11
1628
原创 18:验证子串
描述输入两个字符串,验证其中一个串是否为另一个串的子串。输入输入两个字符串, 每个字符串占一行,长度不超过200且不含空格。输出若第一个串s1是第二个串s2的子串,则输出(s1) is substring of (s2)否则,若第二个串s2是第一个串s1的子串,输出(s2) is substring of (s1)否则,输出 No substring。样例输入abcdddncabca样例输出abc is substring of dddncabca#include <bits
2021-04-26 21:51:02
443
原创 15:整理药名
描述医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、aspirin整理成Aspirin。输入第一行一个数字n,表示有n个药品名要整理,n不超过100。接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。输出n行,每行一个单词,对应输入的药品名的规范写法。样例输入4AspiRincisapride2-PENIC
2021-04-22 22:51:29
330
原创 12:加密的病历单
描述小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)逆序存储(abcd -> dcba )大小写反转(abXY -> ABxy)输入一个加密的字符串。
2021-04-22 21:48:46
685
原创 14:扫雷游戏地雷数计算
描述扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。输入第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。
2021-04-21 21:52:27
1941
原创 37:乒乓球
描述国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其
2021-04-21 14:11:25
137
原创 09:密码翻译
描述在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。输入输入一行,包含一个字符串,长度小于80个字符。输出输出每行字符串的加密字符串。样例输入Hello! How are you!样例输出Ifmmp! Ipx bsf zpv!来
2021-04-17 10:48:20
296
原创 08:字符替换
描述把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。输入只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。输出一行,即替换后的字符串。样例输入hello-how-are-you o O样例输出hellO-hOw-are-yOu来源计算概论05#include <iostream>#include
2021-04-15 21:48:14
704
原创 07:配对碱基链
描述脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。输入一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。输出一个只含有大写字母A、T、G、C的字符串,
2021-04-15 21:43:35
432
原创 06:合法 C 标识符
描述给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:非保留字;只包含字母、数字及下划线(“_”)。不以数字开头。输入一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。输出一行,如果它是C语言的合法标识符,则输出yes,否则输出no。样例输入RKPEGX9R;TWyYcp样例输出no#include <iostream>#include <cstd
2021-04-15 21:36:53
820
原创 05:输出亲朋字符串
描述编写程序,求给定字符串s的亲朋字符串s1。亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最 后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的ASCII值。输入输入一行,一个长度大于等于2,小于等于100的字符串。字符串中每个字符的ASCII值不大于63。输出输出一行,
2021-04-15 21:19:58
725
原创 03:基因相关性
描述为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。输入有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。输出若两条DNA序列相关,
2021-04-15 14:46:34
690
原创 02:找第一个只出现一次的字符
描述给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。输入一个字符串,长度小于100000。输出输出第一个仅出现一次的字符,若没有则输出no。样例输入abcabd样例输出c#include <iostream>#include <cstdio>#include <string.h>using namespace std;int main(){ string s; int num[30],ans; int
2021-04-15 14:05:03
408
原创 15:阶乘和
**描述用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:5!=54321。输入正整数N,输出计算结果S。输入一个正整数N。输出计算结果S。样例输入5样例输出153**#include <iostream>#include <cstdio>using namespace std;int a[100000]={1},s[100000];int n,len=1,jinwei=0,jinwei1=0,t,len1=0,size
2021-04-15 13:30:37
521
原创 14:求10000以内n的阶乘
描述求10000以内n的阶乘。输入只有一行输入,整数n(0<=n<=10000)。输出一行,即n!的值。样例输入100样例输出93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000思路:被乘数的每一位都乘一遍乘数#i
2021-04-15 11:36:19
696
原创 03:成绩排序
描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入第一行为n (0 < n < 20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。输出把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。样例输入4Kitty 80Hanmeimei 90Joey 92Tim 28样例输出J
2021-04-11 17:30:21
501
原创 01:谁考了第k名
描述在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。输入第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。输出输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)样例输入5 390788001 67.890788002 90.390788003 6190788004 68.490788005 73.
2021-04-11 17:21:48
623
原创 02:输出最高分数的学生姓名
描述输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。输入第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下:分数 姓名分数是一个非负整数,且小于等于100;姓名为一个连续的字符串,中间没有空格,长度不超过20。数据保证最高分只有一位同学。输出获得最高分数同学的姓名。样例输入587 lilei99 hanmeimei97 lily96 lucy77 jim样例输出hanmeimei#include <
2021-04-11 13:21:57
1338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅