自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 回溯法:子集和数

子集和数例题已知n个不重复的正数:wi​, 1<=i<=n, 和M,要求找出wi​的所有子集使得子集内元素之和等于M。题目分析既然该序列不包含重复数字,那么子集的个数肯定是2n(因为求子集时对每个元素都有选或者不选两个操作),算法的时间复杂度就是O(2n)。

2023-05-12 18:03:31 769 1

原创 最长公共子序列

给定两个长度分别为 NN 和 MM 的字符串 AA 和 BB,求既是 AA 的子序列又是 BB 的子序列的字符串长度最长是多少。第二行包含一个长度为 NN 的字符串,表示字符串 AA。第三行包含一个长度为 MM 的字符串,表示字符串 BB。第一行包含两个整数 NN 和 MM。输出一个整数,表示最大长度。字符串均由小写字母构成。

2023-03-31 17:36:17 190

原创 差分 差分矩阵

输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个操作,每个操作包含五个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,其中 (x1,y1)(x1,y1) 和 (x2,y2)(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。接下来 qq 行,每行包含 55 个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,表示一个操作。

2023-03-21 23:30:20 125

原创 背包问题等

在二维时,第一维表示的物品为可选可不选,选择时是覆盖上一次的选择,但是修改至一维从小体积到大体积覆盖式,小体的权值先发生改变,造成赋权错乱数据污染。接下来有 NN 行,每行两个整数 vi,wivi,wi,用空格隔开,分别表示第 ii 件物品的体积和价值。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。每件物品只能使用一次。第 ii 件物品的体积是 vivi,价值是 wiwi。输出一个整数,表示最大价值。

2023-03-21 22:33:19 64

原创 链表 ——创建,删除,插入

一struct ListNode *readlist(){ struct ListNode *head; struct ListNode *p1,*p2; head=(struct ListNode*)malloc(sizeof(struct ListNode)); p2=p1=(struct ListNode*)malloc(sizeof(struct ListNode)); head=NULL; scanf("%d",&p1->data); p2=p1;.

2022-04-09 16:01:13 916 1

原创 7-7 学生信息的那些操作:(7)单科成绩排序 (10 分)

有一学生成绩表,包括学号、姓名、3门课程成绩。请按要求排序输出:若输入1,则按第1门课成绩降序输出成绩表,若输入为i(1<=i<=3),则按第i门课成绩降序输出成绩表。输入格式:首先输入一个整数n(1<=n<=100),表示学生人数;然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。最后一行输入一个整数i,表示要求按第i门课成绩降序排序输出,若该门课成绩相同,则按学号升序。输出格

2022-03-17 19:54:15 1593

原创 1140: 小数点后第n位 多实例

题目描述给你一个小数x,让你算出小数点后第n位是什么,1 <= n <= 6。输入首先输入一个t,表示有t组数据,跟着t行:每行输入一个小数(输入数据保证一定是a.b的形式,总长度不超过100。为了简单化问题,没有循环小数的情况),然后跟一个n,表示小数点后第几位。输出输出一个整数,表示小数点后第n位的数。样例输入Copy<span style="background-color:#ffffff"><span sty..

2022-02-20 10:59:27 185

原创 1131: 最常用字符

题目描述英文字母里出现频率最高的是哪个字母呢? 给定一个字符串,输出字符串中出现次数最多的字母。输入输入一个只含有大小写字母和空格的字符串,长度不超过100,以回车结束。输出输出一个小写字母,表示该字符串中出现次数最多的字母。若答案有多个,则只输出ASCII码最小的那个。样例输入CopyAn apple样例输出Copya#include<iostream>#include<string.h> ...

2022-02-06 22:32:36 93

原创 F - Red and Black

有一个长方形的房间,覆盖了正方形的磁砖。每块磁砖的颜色,要么是红色,要么是黑色。一名男子站在一块黑色的磁砖上。他可以从一块磁砖移至相邻四块磁砖中的某一块。但是,他不允许在红色磁砖上移动,他只允许在黑色磁砖上移动。编写一个程序,使得他允许重复上述的移动,判断他所能到达的黑色磁砖的数量。输入输入由多个数据集组成。数据集的起始行包含了两个正整数 W 和 H;W 和 H 分别是 x- 和 y- 方向的磁砖数量。W 和 H 不超过 20 。在数据集中,还有 H 行,每行包含了 W 个字符。每个字符按如下方

2022-01-21 11:44:19 87

原创 H - 互质数的个数(一)

这里我们定义 \varphi(n)φ(n) 表示所有小于等于 nn 与 nn 互质数的个数。例如 \varphi(10) = 4φ(10)=4,因为我们可以在 1 \sim 101∼10 中找到 1,3,7,91,3,7,9 与 1010 互质。输入格式第一行输入一个整数 tt,表示测试数据组数。接下来 tt 行,每行有一个整数 nn。输出格式对于每组测试数据输出 \varphi(n)φ(n) 。数据范围1 \le t \le 100, 1 \le n \le 10^{10}

2022-01-21 10:28:52 420

原创 A - A^B Mod C

给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Sample Input3 5 8Sample Output3mod好像就是取模运算3mod5=3;本题的数据大总体乘出来会溢出,所以用到快速幂的方法,它基于数学上的的运算公式:(a*b)MOD c=[(a mod c)*( b mod c)

2022-01-16 10:38:41 303

原创 A - 棋盘问题&&B - Perket,

这两个题都是fds算法做的题,第一次做这种题,了解完代码的如何运行感觉非常神奇。虽然还不是很了解这个算法的原理。这两个题就当一个参考。题一:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n &.

2022-01-12 11:10:49 94

原创 J - 子串查找

题目描述这是一道模板题。给定一个字符串AA和一个字符串BB,求BB在AA中的出现次数。AA和BB中的字符均为英语大写字母或小写字母。AA中不同位置出现的BB可重叠。输入格式输入共两行,分别是字符串AA和字符串BB。输出格式输出一个整数,表示BB在AA中的出现次数。样例Input Output zyzyzyzzyz 3 数据范围与提示1 \leq A, B1≤A,B的长度...

2022-01-09 11:03:04 522

原创 G - 基础数据结构——栈(1)

给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的(),[],{}是否匹配。Input输入数据有多组,每组数据不超过100个字符并含有(,),[,],{,}一个或多个。处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”Sample Inputsin(20+10){[}]Sample Outputyesno#include<stdio.h>#include&lt...

2022-01-08 20:42:44 353

原创 1108: 打印数字图形(函数专题)

题目描述从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格;PrintDigit(m)来输出一行中的数字串"12...m...21"(该行中的最大数字是m)。函数原型如下:void PrintDigit(int m);voidPrintSpace(int m);对于C/C++代码的提交,本题要求必须通过定义PrintSpace函数、PrintDigit函数和main函数实现,否则,返回编译错误。输入...

2022-01-02 21:46:32 435

原创 1105: 判断友好数对(函数专题)

题目描述输入两个正整数m和n,顺序输出m到n之间的所有友好数对。如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=12101210的因子之和为1+2+5+10+11+22+55+110+121+242+605=1184要求程序中要定义一个facsum ()函数计算并返回n的所有正因子之和。int facsum (int n){//计算n

2021-12-28 22:34:37 533

原创 1100: 求组合数(函数专题)

题目描述马上要举办新生程序设计竞赛了,与以往不同的是,本次比赛以班为单位,为了全面衡量一个班级的整体水平,要求从一个班的m位同学中任选k位同学代表本班参加比赛,问有多少种组合方案。在计算组合方案时会用到计算阶乘的运算,要求编写函数fact(),实现求一个数的阶乘功能,函数原型如下。int fact(int n);//计算n的阶乘并返回 对于C/C++代码的提交,本题要求必须通过定义fact函数和main函数实现,否则,提交编译错误,要提交完整的程序。输入输入两个正整数m,k,k&lt...

2021-12-27 21:49:21 3290

原创 1091: 童年生活二三事(多实例测试)

他描述的很复杂其实就是递归函数,你可以写出来试试,1 2 3 5 8.。。。被他迷惑了哎。题目描述Redraiment小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。 但年幼的他一次只能走上一阶或者一下子蹦上两阶。 现在一共有N阶台阶,请你计算一下Redraiment从第0阶到第N阶共有几种走法。输入输入包括多组数据。 每组数据包括一行:N(1≤N≤40)。 输入以0结束输出对应每个输入包括一个输出。 为redraiment到达第n阶不同走法的数量。样例输入Copy1..

2021-12-20 11:31:12 93

原创 写个圣诞树吧

用C写的可变圣诞树

2021-12-19 10:03:15 203

原创 1089: 阶乘的最高位

题目描述输入一个正整数n。输出n!的最高位上的数字。输入输入一个正整数n(n不超过1000)。输出输出n!的最高位上的数字。样例输入Copy1000样例输出Copy4提示注意double类型溢出问题。#include<bits/stdc++.h>using namespace std;int main(){ int n; long double sum=1; scanf("%d",&n); for(int i=1;..

2021-12-18 15:31:23 181

原创 7-12 统计一行文本的单词个数 (15 分)

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5#include<stdio.h>#include<string.h>int main(){ char a[30000]; gets(a); int count; if(a[0].

2021-12-17 15:37:51 735

原创 7-11 螺旋方阵 (20 分)

撞墙法,非自创

2021-12-16 22:11:04 93

原创 1087: 获取出生日期(多实例测试)

题目描述输入某人的18位身份证号,输出其出生日期。输入多实例测试。首先输入一个整数n,表示测试实例的个数,然后是n行,每行是一个18位身份证号。输出对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。样例输入Copy3410106199411178657410104198202095479410122197911218097样例输出Copy1994-11-171982-02-091979-11-21提示scan..

2021-12-16 12:13:57 149

原创 1086: ASCII码排序(多实例测试)

给咱整不会了咱想的是使用排序,哎大意了不会;题目描述输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。输入输入数据有多组,每组占一行,由三个字符组成,之间无空格。输出对于每组输入数据,输出一行,字符中间用一个空格分开。样例输入Copyqweadsxzc样例输出Copye q wa d sc x z提示注意:scanf("%c",&ch)格式读字符时,所有字符都是有效输入,如回车符、空格符等,所以每行读取字符之后要处..

2021-12-15 21:02:46 738

原创 7-9 一帮一 (15 分)

真的,我感觉我写的挺简单的。嘿嘿。一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比

2021-12-15 19:18:45 99

原创 7-8 通讯录的录入与显示 (10 分)

通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。输入格式:输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。在通讯录记录输入完成后,最后一行给出正整数K,并

2021-12-14 19:52:04 252

原创 2884: 小A的AC自动机

题目描述“你能表演个那个吗?”“哪个?”“就是那个啊,AC自动机Fail树上DFS序维护可持久化线段树!”“额.............................我先给你表演个写BUG吧”小A正在做一道题:求n个整数的异或和。小A码完代码,信心满满的提交后,却被返回了Wrong Answer。小A的队友QM、HRS发现小A在读入数据时,操作失误,将数反转了。12345被读成了54321,1649被读成了9461...现在只有数字n(n未被反转),和被小A反转后的n个整数。幸好原始的数据

2021-12-13 20:47:12 217

原创 7-3 通讯录排序 (20 分)

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang 198504

2021-12-11 22:42:14 532

原创 郑轻:1082: 敲7(多实例测试)

题目描述输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)输入首先输入一个整数t,表示有t组数据。然后有t行,每行一个整数N。(N不大于30000)输出对于每组数据 ,输出从小到大排列的不大于N的与7有关的数字。每组数据占一行,每个数字后面有一个空格;样例输入Copy22030样例输出Copy7 14 17 7 14 17 21 27 28 #include<stdio.h>int main..

2021-12-10 20:44:16 261

原创 PTA:6-2 查找子串 (20 分)

本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char *t);void ReadString( char s[] ); /* 裁判提供,细节不表 */int main..

2021-12-10 19:48:32 1836 3

原创 6-1 指定位置输出字符串 (20 分)

本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#define MAXS 10char *match( char *s, char ch1, ch

2021-12-09 22:24:28 854

原创 C语言:插入,选择,快速,归并排序

你可以想象成给扑克牌排序,别人发给你一堆乱序的牌,现在你要开始玩了,你肯定先摸一张牌作为底牌,再摸一张与上一张作比较,大的话放在右边,小的话上一张往右移一下,待插入的牌放入空位置。当牌多时,待插入的一张牌,依次比较,小,最大的一张右移一个位置,知道有比带插入小的,放入上一个位置。3 2 8 1 93先 _3后把2放进去->2 3;2 3 8;1 2 3 8;1 2 3 8 9;代码实现:#include<stdio.h>int insert(int...

2021-12-08 22:56:48 442

原创 7-4 藏头诗 (15 分)

本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流结尾无空行输出样例:一帆风顺#include<stdio.h>int main(){ char a[4][30]; for(int i=0;i<4;i++){.

2021-12-04 19:19:28 1071

原创 1070: 小汽车的位置

题目描述有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表“停止”。每个命令的前面有一个时间戳记,所以我们知道该命令是何时发出的。最后一个命令一定是“停止”。我们另外假设,这辆小车非常灵活,它可以在瞬间转弯。以下列输入为例。小车在时间为5的时候收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“

2021-12-04 15:03:15 131 3

原创 7-1 字符串排序

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue black white结尾无空行输出样例:After sorted:blackblueredwhiteyellow​#include<stdio.h&.

2021-12-03 17:28:08 1308

原创 郑轻oj1067:有问题的里程表

题目描述某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示339,汽车走过1公里之后,该里程表显示350。输入输入一个整数num,表示里程表显示的数值,1 < num < 1000,且一定不含整数4。输出输出一个整数,为该汽车实际行驶的公里数。例如,如果该里程表显示55,则实际走过的公里 数是40。样例输入Copy10.

2021-12-02 16:59:00 595 4

原创 郑轻oj1056:幸运数字

题目描述小明对某些数字有偏爱,例如,他喜欢7的倍数,而不喜欢4的倍数,如果一个整数是7的倍数,而不是4的倍数,小明会认为这个数字是他的幸运数字。现在给定两个整数m和n,请你帮小明找m到n范围内的最大的幸运数字。如果m到n范围内没有幸运数字,则输出“no”输入两个正整数m和n(m < =n,且均小于10的9次方)输出一个整数,即m到n范围内的最大的幸运数字。样例输入90 100样例输出98样例输入80 80样例输出no#include<stdio.h>

2021-11-24 17:28:42 425 2

空空如也

空空如也

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

TA关注的人

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