- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 四则运算(后缀表达式的应用)
在程序中实现四则运算,我们不仅需要考虑加减乘除的顺序,还需要考虑括号的问题,这使得我们的程序非常麻烦,但基于栈这种数据结构,我们可以很方便的进行操作。
2022-05-09 14:55:36
1070
2
原创 HENAU 冬令营 数学专题
A - A^B Mod C就是快速幂,次方是二的倍数就本身平方#include<bits/stdc++.h>using namespace std;typedef unsigned long long ull; int main(){ ull a,b,c; ull s=1; cin>>a>>b>>c; while(b!=1) { if(b%2==1) { s=s*a;
2022-01-18 19:29:49
2251
原创 HENAU 冬令营 搜索专题
A-棋盘问题这题我觉得是简化版的八皇后标准的DFS模板我们首先从第一行开始找合适的位置放棋子,再定义一个标记数组,标记一下找到的这个位置的这一列被占用了:vis[i]=1; 然后开始第二列的搜索,一直搜索到最后一行,然后结束搜索;这里注意输入的时候要输入一整行,因为如果我们读字符的时候会将空格也读进去memset()函数是存在于string.h里的一个函数,作用是格式化memset(数组名,赋值内容,数组大小);#include<stdio.h>#include<strin
2022-01-14 17:15:18
297
原创 A-棋盘问题
棋盘问题题目描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入格式输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域
2022-01-12 17:31:42
190
原创 第十一组题解
A - 雷同检测题目描述:考试的时候老师最讨厌有人抄袭了。自从有了电子评卷,老师要查找雷同卷,就容易多了,只要将两个人的答案输入计算机,进行逐个字符的比对,把相同的位置都找出来,就一目了然了。输入格式2 行,每行包含一串字符(长度不超过 200)。输出格式1 行,包含若干个以空格分隔的数字,表示出现相同字符的位置。Sample InputI am suantoujun.I am huayemei.Sample Output1 2 3 4 5 6 8 9思路这题非常简单,只需
2022-01-10 16:45:51
1364
原创 L-最长回文子串
L-最长回文子串题目描述输入一个字符串Str,输出Str里最长回文子串的长度。回文串:指aba、abba、cccbccc、aaaa这种左右对称的字符串。串的子串:一个串的子串指此(字符)串中连续的一部分字符构成的子(字符)串例如abc这个串的子串:空串、a、b、c、ab、bc、abc输入格式输入Str (Str的长度<=1000)输出格式输出最长回文子串的长度L。Sample InputdaabaacSample Output5思路#include<stdio.h
2022-01-10 00:16:08
149
原创 K-剪花布条
K-剪花布条题目描述原题来自:HDU 2087一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入格式输入数据为多组数据,读取到#字符时结束。每组数据仅有一行,为由空格分开的花布条和小饰条。花布条和小饰条都是用可见ASCII字符表示的,不会超过1000个字符。注意:这个#应为单个字符。若某字符串开头有#,不意味着读入结束!输出格式对于每组数据,输出一行一个整数,表示能从花纹布中剪出的最多小饰条个数。
2022-01-10 00:09:15
149
原创 J-子串查找
J-子串查找题目描述这是一道模板题。给定一个字符串A和一个字符串B,求B在A中的出现次数。A和B中的字符均为英语大写字母或小写字母。A中不同位置出现的B可重叠。输入格式输入共两行,分别是字符串A和字符串B。输出格式输出一个整数,表示B在A中的出现次数。Sample InputzyzyzyzzyzSample Output3提示1≤A,B 的长度 ≤ 10^6,A 、B 仅包含大小写字母。思路这是一道经典的模板题,字符串匹配,俗称 KMP附链接 kmp算法#inc
2022-01-10 00:02:00
317
原创 I-验证子串
I-验证子串题目描述输入两个字符串,验证其中一个串是否为另一个串的子串。输入格式若第一个串s1是第二个串s2的子串,则输出"(s1) is substring of (s2)";输出格式否则,若第二个串s2是第一个串s1的子串,输出"(s2) is substring of (s1)";否则,输出"No substring"。Sample InputabcdddncabcaSample Outputabc is substring of dddncabca思路运用字符串查找函数
2022-01-09 23:43:24
652
原创 H-字典序
H-字典序题目描述给你两个不同的字符串,如果第一个字符串的字典序小于第二个字符串,则输出YES,如果第一个字符串的字典序大于第二个字符串,则输出NO。输入格式两行。第一行一个字符串,第二行一个字符串。保证字符串的长度不超过10000。保证两个字符串不完全相等。输出格式如果第一个字符串的字典序小于第二个字符串,则输出YES,如果第一个字符串的字典序大于第二个字符串,则输出NO。Sample InputabcabeSample OutputYES思路运用字符串比较函数 strcmp
2022-01-09 23:37:42
252
原创 G - 基础数据结构——栈(1)
G - 基础数据结构——栈(1)题目描述给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。输入格式输入数据有多组,每组数据不超过100个字符并含有( ,) ,[, ],{, }一个或多个。处理到文件结束。输出格式如果匹配就输出“yes”,不匹配输出“no”Sample Inputsin(20+10){[}] Sample Outputyesno思路这题非常之简单,我们至于要对最后两位或三位进
2022-01-09 23:33:01
80
原创 F - 判断字符串是否为回文
F - 判断字符串是否为回文题目描述输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。输入格式输入为一行字符串(字符串中没有空白字符,字符串长度不超过 100)。输出格式如果字符串是回文,输出"yes";否则,输出"no"。。Sample InputabcdedcbaSample Outputyes思路这题非常之简单,我们至于要对最后两位或三位进行判断一下就可以了#include<string.h>#include<stdio.h>
2022-01-09 13:59:12
116
原创 E - 删除单词后缀
E - 删除单词后缀题目描述给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为 0),否则不进行任何操作。输入格式输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32)。输出格式输出按照题目要求处理后的单词。Sample InputrefererSample Outputrefer思路这题非常之简单,我们至于要对最后两位或三位进行判断一下就可以了#include<string.h>#include
2022-01-08 13:59:12
515
1
原创 D - 数字反转
D - 数字反转题目描述给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。输入格式输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。输入以“End of file”结束。输出格式输出共 1 行,一个整数,表示反转后的新数。数据范围 −1,000,000,000 ≤ N ≤ 1,000,000,000。Sample Input123Sample Outp
2022-01-08 13:53:41
210
原创 C - 大小写转换
C - 大小写转换题目描述读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)。输入格式输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。输入以“End of file”结束。输出格式对于每行输入,输出转换后的字符串Sample InputHelloICPC200412345abcdeSample OutputHELLOICPC200412345ABCDE思路对于本题:用“scanf("%s", str) == 1”这个条件可以判断输入是
2022-01-07 19:34:50
139
原创 B - 首字母大写
B - 首字母大写题目描述对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(’\t’)、回车符(’\r’)、换行符(’\n’)。Input输入一行:待处理的字符串(长度小于80)。Output输出一行:转换后的字符串。Sample Inputif so, you already have a google account. you can sign in on the right.
2022-01-07 19:20:55
332
原创 A - 雷同检测
A - 雷同检测题目描述:考试的时候老师最讨厌有人抄袭了。自从有了电子评卷,老师要查找雷同卷,就容易多了,只要将两个人的答案输入计算机,进行逐个字符的比对,把相同的位置都找出来,就一目了然了。输入格式2 行,每行包含一串字符(长度不超过 200)。输出格式1 行,包含若干个以空格分隔的数字,表示出现相同字符的位置。Sample InputI am suantoujun.I am huayemei.Sample Output1 2 3 4 5 6 8 9思路这题非常简单,只需
2022-01-07 19:08:26
313
原创 指针变量的初步了解
指针变量众所周知指针是C/C++中广泛使用的一种数据类型,能够方便的表示各种数据结构,使用数组和字符串,所以学习指针是我们在学习C语言中重要的一部分,下面我们来简单的认识一下指针变量。一、指针变量的定义、赋值使用指针前,我们需要定义一个指针变量,一般形式如下:类型说明符 *变量名;其中 * 表示这是一个指针变量,这与我们平常定义普通变量不同,下面我们来看看两者的区别;1、普通变量的定义int a=3;这里定义了 a 是 int 型的,赋值为 3 。内存空间中,有一个位置存放 a
2021-09-23 20:17:06
189
1
原创 快速排序C/C++
快速排序1.举个例子首先我们给出组数据:6 1 2 7 9 3 4 5 10 8接下来,我们的目的是将他们从小到大排序;首先:我们设立一个基准数(也就是这组数据的第一个数,6),接下来,我们需要把比基准数6大的数全部放到6的右边,比基准数6小的数全部放到6的左边(也就是将基准数放在中间某个位置是的基准数左边的数全部小于他,基准数右边的数全部大于他)那么我们该如何实现这个过程呢?我们可以用交换的方法,我们从右边开始,寻找一个比6小的数,再从左边寻找一个比6大的数,然后交换他们的位置这里我们需要用
2021-09-23 18:51:36
111
1
学生信息管理系统C++
2023-07-15
求树的重心
2019-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人