自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 选举学生会

题目描述学校正在选举学生会成员,有 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 363

原创 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 287 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 411

原创 25:最长最短单词

描述输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。输入一行句子。输出两行输出:第1行,第一个最长的单词。第2行,第一个最短的单词。样例输入I am studying Programming language C in Peking University样例输出ProgrammingI提示如果所有单词长度相同,那么第一个单词既是最长单词也是最短

2021-04-28 22:16:11 696

原创 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 248

原创 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 510

原创 22:紧急措施

描述近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。输入第一行为你的email地址,长度不超过50个字符且只包含字母、数字和‘@’符号。第二行为账号数N,N(0 < N < 10000)。接下来N行,每行表

2021-04-28 21:20:36 983

原创 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 663

原创 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 501

原创 19:字符串移位包含问题

描述对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。输入一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。输出如果一个字符串是另一字符串通过若干次循环移位产生的新串的子串,则输出true,

2021-04-26 23:02:04 645

原创 上网统计(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 1252

原创 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 329

原创 15:整理药名

描述医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、aspirin整理成Aspirin。输入第一行一个数字n,表示有n个药品名要整理,n不超过100。接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。输出n行,每行一个单词,对应输入的药品名的规范写法。样例输入4AspiRincisapride2-PENIC

2021-04-22 22:51:29 245

原创 12:加密的病历单

描述小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)逆序存储(abcd -> dcba )大小写反转(abXY -> ABxy)输入一个加密的字符串。

2021-04-22 21:48:46 549

原创 14:扫雷游戏地雷数计算

描述扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。输入第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。

2021-04-21 21:52:27 1584

原创 37:乒乓球

描述国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其

2021-04-21 14:11:25 79

原创 09:密码翻译

描述在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。输入输入一行,包含一个字符串,长度小于80个字符。输出输出每行字符串的加密字符串。样例输入Hello! How are you!样例输出Ifmmp! Ipx bsf zpv!来

2021-04-17 10:48:20 226

原创 08:字符替换

描述把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。输入只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于30个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。输出一行,即替换后的字符串。样例输入hello-how-are-you o O样例输出hellO-hOw-are-yOu来源计算概论05#include <iostream>#include

2021-04-15 21:48:14 613

原创 07:配对碱基链

描述脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。输入一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。输出一个只含有大写字母A、T、G、C的字符串,

2021-04-15 21:43:35 283

原创 06:合法 C 标识符

描述给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:非保留字;只包含字母、数字及下划线(“_”)。不以数字开头。输入一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。输出一行,如果它是C语言的合法标识符,则输出yes,否则输出no。样例输入RKPEGX9R;TWyYcp样例输出no#include <iostream>#include <cstd

2021-04-15 21:36:53 733

原创 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 575

原创 03:基因相关性

描述为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。输入有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。输出若两条DNA序列相关,

2021-04-15 14:46:34 568

原创 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 349

原创 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 369

原创 14:求10000以内n的阶乘

描述求10000以内n的阶乘。输入只有一行输入,整数n(0<=n<=10000)。输出一行,即n!的值。样例输入100样例输出93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000思路:被乘数的每一位都乘一遍乘数#i

2021-04-15 11:36:19 608

原创 03:成绩排序

描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入第一行为n (0 < n < 20),表示班里的学生数目;接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数。输出把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。样例输入4Kitty 80Hanmeimei 90Joey 92Tim 28样例输出J

2021-04-11 17:30:21 411

原创 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 501

原创 02:输出最高分数的学生姓名

描述输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。输入第一行输入一个正整数N(N <= 100),表示学生人数。接着输入N行,每行格式如下:分数 姓名分数是一个非负整数,且小于等于100;姓名为一个连续的字符串,中间没有空格,长度不超过20。数据保证最高分只有一位同学。输出获得最高分数同学的姓名。样例输入587 lilei99 hanmeimei97 lily96 lucy77 jim样例输出hanmeimei#include &lt

2021-04-11 13:21:57 1199

原创 13:大整数的因子

描述已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。输入一个非负整数c,c的位数<=30。输出若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。样例输入30样例输出2 3 5 6#include <iostream>#include <cstdio>#include <cstring> using name

2021-04-02 18:03:16 137

原创 12:计算2的N次方

描述任意给定一个正整数N(N<=100),计算2的n次方的值。输入输入一个正整数N。输出输出2的N次方的值。样例输入5样例输出32提示高精度计算#include <iostream>using namespace std;#define N 10000int main(){ int n,ans[N],len=1,i,j,t,jinwei; cin>>n; ans[0] = 1; for(i=0;i<n;i++) { jinwe

2021-04-02 17:16:11 220

原创 11:大整数减法

描述求两个大的正整数相减的差。输入共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。输出一行,即所求的差。样例输入99999999999999999999999999999999999999999999999999样例输出9999999999999999999999990000000000000#include <iostream>#include <cstdio>#include <cstri

2021-04-02 16:54:19 543

原创 10:大整数加法

描述求两个不超过200位的非负整数的和。输入有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。输出一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入2222222222222222222233333333333333333333样例输出55555555555555555555#include <iostream>#include <cstdio>#include <cstring>

2021-04-02 16:10:11 189

原创 09:向量点积计算

描述在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个n维向量a=(a1,a2,…,an)和b=(b1,b2,…,bn),求点积a·b=a1b1+a2b2+…+anbn。输入第一行是一个整数n。1 <= n <= 1000。第二行包含n个整数a1,a2,…,an。第三行包含n个整数b1,b2,…,bn。相邻整数之间用单个空格隔开。每个整数的绝对值都不超过1000。输出一个整数,即两个向量的点积结果。样例输入31 4 62 1 5样例输出36#inclu

2021-04-02 11:30:26 235

原创 08:石头剪刀布

描述石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?输入输入包含三行。第一行包含三个整数:N,NA,NB,分别表示比了N轮,小A出拳的周期长度,小B出拳的周期长度。0 < N,NA,NB < 100。第二行包含NA个整数,表

2021-04-02 11:14:40 961

原创 07:有趣的跳跃

描述一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。输入一行,第一个数是n(0 < n < 3000),为序列长度,接下来有n个整数,依次为序列中各元素,各元素的绝对值均不超过1,000,000,000。输出一行,若该序列存在“有趣的跳跃”,输

2021-03-31 17:42:52 600

原创 1.5 38:计算多项式的导函数

描述计算多项式的导函数是一件非常容易的任务。给定一个函数f(x),我们用f’(x)来表示其导函数。我们用x^n来表示x的n次幂。为了计算多项式的导函数,你必须知道三条规则:(1)、©’ = 0 如果C是常量(2)、(Cx^n)’ = Cn*x^(n-1) 如果n >= 1且C是常量(3)、(f1(x)+f2(2))’ = f1’(x)+f2’(x)容易证明,多项式的导函数也是多项式。现在,请你编写一个程序,给定一个不包含负系数且已合并好同幂次项的多项式f(x),计算出它的导函数。输入输

2021-03-19 11:34:02 1111

原创 1.13 19:啤酒厂选址

描述海上有一个岛,在环海边上建有一条环岛高速公路,沿着公路有n(5 < n < 10000)个居民点,假设每个居民点有一个编号,从0开始,按顺时针依次从小到大(即,0,1,…,n-1)编号。在岛上啤酒很受青睐。某啤酒企业计划在岛上投资建一个啤酒厂,并根据啤酒需求每天向居住点送啤酒。已知两个相邻的居民点的距离以及每个居住点每天的啤酒需求量(假设每个居住点每天不超过2000桶)。假定每单位长度的路程送一桶啤酒需要的费用恒定(为单位费用)。请问,选择哪一个居民点建啤酒厂,才能使每天送啤酒的费用最小(

2021-03-05 16:19:13 635

原创 1.13 32:日历问题

描述在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。输入输入一行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。数据保证结果的年份不会超过9999。输出输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-DD

2021-02-27 14:30:07 314

原创 1.13 25:计算两个日期之间的天数

描述给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。输入共两行:第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。第二行包含三个整数endYear,endMonth,endDay,分别是结束年、月、日。相邻两个整数之间用单个空格隔开。年份范围在1~3000。保证日期正确且结束日期不早于起始日期。输出输出一个整数,即是两个日期相差的天数。样例输入2008 1 12009 1 1样例输出366#incl

2021-02-26 13:06:35 642

原创 1.13 24:打印月历

描述给定年月,打印当月的月历表。输入输入为一行两个整数,第一个整数是年份year(1900 ≤ year ≤ 2099),第二个整数是月份month(1 ≤ month ≤ 12),中间用单个空格隔开。输出输出为月历表。月历表第一行为星期表头,如下所示:Sun Mon Tue Wed Thu Fri Sat其余各行一次是当月各天的日期,从1日开始到31日(30日或28日)。日期数字应于星期表头右对齐,即各位数与星期表头相应缩写的最后一个字母对齐。日期中间用空格分隔出空白。样例输入2006

2021-02-26 11:13:43 529

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除