自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷练习题

2023-02-06 16:54:04 224

原创 ZZULIOJ 1146:吃糖果(排列问题)

题目描述HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢连续两次吃一样的糖果,喜欢先吃一颗A种类的糖果,下一次换一种口味,吃一颗B种类的糖果,这样;可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下。输入第一行有一个整数T,接下来T组数据,每组数据占2行,第一行是一个整数N(0 < N <= 1000000),表示糖果的种类。第二行是N个数,表示每种糖果的数目Mi(0 < Mi &l

2022-01-26 23:52:07 349 2

原创 知识点c,c++

1.n=(int)log10(x)+1; //求未知数的x的位数2.x=(int)((n/2.0)+0.5); //四舍五入3.最大公约数,辗转相除法函数int gcd(int a,int b){ if(a==0) return 0; else return (b==0)?a:gcd(b,a%b);}4,最小公倍数的求解在最大公约数的基础上进行欲求n与m的最小公倍数lcm,lcm=a/gcd*m.5.scanf中 *用来跳过不存入变量,%md可用来读取指定m位数的数存入变量当中.

2022-01-25 23:43:12 444 1

原创 定义函数c,c++

1,输出数字逆序后的结果int inverse(int n){ int sum=0; while(n!=0) { sum=sum*10+n%10; n=n/10; } return sum;}2.十进制转化为二进制void convert(int n){ if(n > 0) { convert(n/2); cout<< n%2; } return ; }3.二进制转化为十进制int bToD(char str[]){ int x

2022-01-25 23:42:11 365

原创 博弈专题&Bash游戏&取石子游戏&Matches Game

Bash游戏有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。例如N = 3,K = 2。无论A如何拿,B都可以拿到最后1颗石子。Input第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T + 1行:每行2个数N,K。中间用空格分隔。(1 <= N,K <= 10^9)Output

2022-01-18 21:58:58 2497

原创 欧拉函数&互质数的个数

学习的过程中学到了欧拉函数,做个总结,对数论,对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目,(φ(1)=1)例如φ(8)=4,因为1,3,5,7均和8互质。互质数的个数这里我们定义φ(n) 表示所有小于等于 n 与 n 互质数的个数。例如 φ(10)=4,因为我们可以在 1∼10 中找到 1,3,7,9 与 10 互质。输入格式第一行输入一个整数 t,表示测试数据组数。接下来 t行,每行有一个整数 n。输出格式对于每组测试数据输出 φ(n) 。数..

2022-01-17 22:45:48 1286

原创 快速幂算法&A^B Mod C

最近在学习的过程中,又接触到了一个算法,叫做快速幂算法,它可以很大程度的减少时间复杂度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 Output3#include<iostream>#include<cstdio>#

2022-01-17 22:26:49 827

原创 dfs全排列&模版&函数

题目描述:给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有 ‘a’ < ‘b’ < … < ‘y’ < ‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。输入格式输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在 1 到 6 之间。输出格式输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排已知 S=s1 s2…sk, T=t1 t2…tk,则 S<T 等价于,存在 p(1≤p≤k),使

2022-01-16 23:32:12 224

原创 寒假训练字符串专题

最长回文子串输入一个字符串Str,输出Str里最长回文子串的长度。回文串:指aba、abba、cccbccc、aaaa这种左右对称的字符串。串的子串:一个串的子串指此(字符)串中连续的一部分字符构成的子(字符)串例如 abc 这个串的子串:空串、a、b、c、ab、bc、abcInput输入Str(Str的长度 <= 1000)Output输出最长回文子串的长度L。Sample InputdaabaacSample Output5#include

2022-01-10 17:51:59 146 2

原创 验证字串c&c++

输入两个字符串,验证其中一个串是否为另一个串的子串。输入格式输入两个字符串, 每个字符串占一行,长度不超过 200200 且不含空格。输出格式若第一个串 s_1s1​ 是第二个串 s_2s2​ 的子串,则输出"(s1) is substring of (s2)";否则,若第二个串 s2是第一个串s1的子串,输出"(s2) is substring of (s1)";否则,输出"No substring"。Sample InputabcdddncabcaSample Outputabc i

2022-01-09 00:09:56 1020 1

原创 雷同检测c语言

考试的时候老师最讨厌有人抄袭了。自从有了电子评卷,老师要查找雷同卷,就容易多了,只要将两个人的答案输入计算机,进行逐个字符的比对,把相同的位置都找出来,就一目了然了。输入格式2行,每行包含一串字符(长度不超过200)。输出格式1行,包含若干个以空格分隔的数字,表示出现相同字符的位置。Sample InputI am suantoujun.I am huayemei.Sample Output1 2 3 4 5 6 8 9思路是用strlen函数,比较出两个字符串间比较短的一个,作为循

2022-01-07 22:24:16 1439 3

原创 读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)

读入一些字符串,将其中的小写字母转成大写字母(其他字符不变)。输入输入为多行,每行为一个字符串,字符串只由字母和数字组成,长度不超过80。输入以“End of file”结束。输出对于每行输入,输出转换后的字符串。输入示例HelloICPC200412345abcde输出示例HELLOICPC200412345ABCDE看到小写变大写,我想到了string函数库里的strupr函数????在这里要知道一个兼容性问题,strupr不是标准c库函数,只能在vc里使用,在linux g

2022-01-07 17:13:35 7284 2

原创 ctype.h

最近做了一道题,题目是这样的,判断该字符是大写字母,小写字母,数字字符或其他字符,当我用if语句写了好久之后提交正确,我想着看看答案,就搜了一下,看着人家写的十几行的代码,我陷入了沉思????最后还是感觉到了库函数的重要性,可以更快的实现代码需求,可以站在一个更高的角度思考问题,所以在这里总结一下库函数ctype.h包含的一些函数。 1. isdigit #include<stdio.h>#include<ctype.h>int main(){ char ch;.

2022-01-05 17:56:27 882 2

原创 三整数排序

题目描述从键盘输入三个整数x,y和z,按从大到小的顺序输出它们的值。输入输入三个整数x,y和z。输出按从大到小的顺序输出它们的值。样例输入 Copy20 16 18样例输出 Copy20 18 16首先最简单的方法#include<stdio.h>int main(){ int x,y,z,t; scanf("%d %d %d",&x,&y,&z); if(x<y) { t=x; x=y; y=t; } if(x&l

2022-01-04 23:43:42 573 3

原创 c语言 字母的序号

题目描述输入一个英文字母(可能是大写,也可能是小写),输出该字母在字母表中的序号(’a’和’A’的序号为1)。输入输入只有一个英文字母。输出输出一个整数,表示该字母在字母表的序号,输出单独占一行。样例输入 CopyD样例输出 Copy4思路:刚开始以为要用switch选,想着这太费时间了,后来发现可以根据字母的ascll码来得出结果,A的ascll码值为65,它是第一个字母,减去64等于1,接下来的字母ascll值减去64就是其对应的字母序号,当然我们需要把输入的字母变成统一的大写字母。

2022-01-04 22:59:22 4633 4

原创 是否为偶数,c语言调用函数

判断一个数是否为偶数,很简单的题目,我们用函数来写,函数体为int IsEven (int n)源代码如下:#include<stdio.h>int IsEven(int x){ if(x%2==0) return 0; else return 1;}int main(){ int a; while(scanf("%d",&a)!=EOF) //EOF是循环不是死循环 { if(IsEven(a)) printf("奇

2021-12-17 14:59:45 2277

原创 字符串大小,输入两个长度小于1000的字符串,比较其字典序大小,输出>或<或=。

题目描述输入两个长度小于1000的字符串,比较其字典序大小,输出>或<或=。样例输入 Copyabcabd样例输出 Copy<思路:刚看到这题我很迷呀,我理解的是字符串全部的ASCLL码的总和比较大小,但不是,我室友告诉我他应该是一个一个比的,比如a和xgshgdhjsj比大小,a没有x大,所以结果输出为<。源代码如下:#include<stdio.h>#include<string.h>int main(){ char a[1000

2021-12-16 11:46:07 1440 3

原创 数字统计,T组数据,每组数据对于给定的一个字符串,统计其中数字字符出现的次数

题目描述T组数据,每组数据对于给定的一个字符串,统计其中数字字符出现的次数。(T<1000,字符串长度<1000)样例输入 Copy2asdfasdf123123asdfasdfasdf111111111asdfasdfasdf样例输出 Copy69思路:我们知道0~9的ASCLL码值是48~59,可以写个循环判断,如果是ASCLL码的值在这个范围内的话,类机器count加一,循环过一次后记得把字符串a用函数memset归零。源代码如下:#include<stdio.

2021-12-15 20:42:33 2150 2

原创 c语言字符翻转

题目描述T组输入,把每组输入的字符串翻转后输出。(每组字符串长度小于1000,T小于1000)样例输入 Copy3abcd123xmn样例输出 Copydcba321nmx思路:定义两个字符串,将输入的字符串a倒叙存入另一个字符串b之中,最后调用memset将b归零,需要注意的是输入T后加上getchar();存放回车。源代码如下:#include<stdio.h>#include<string.h>#include<stdlib.h>i

2021-12-12 14:02:16 615

原创 去掉空格(c语言)

题目描述测试数据n组,每组输入长度不大于1000的字符串(其中包含空格,并以换行结束),输出除去空格后的字符串。样例输入 Copy2abc abcxxx asd样例输出 Copyabcabcxxxasd思路:这里用到了strlen函数和memset函数(不懂的可以搜索一下)调用string和stdlib两个函数库,定义两个字符串,将第一个字符串中不等于空格的字符都赋值给另一个字符串。难点在于程序中的getchar();是用来存放输入n后打的回车字符,要是没有的话,回车被录入gets(a);

2021-12-11 08:22:52 3572

原创 现在在一个空间内,有n个已知的点,接着询问你哪些点存在?

题目描述现在在一个空间内, 有n个已知的点, 接着询问你哪些点存在?输入一个n(1 ≤ n ≤ 10), 接下来每行三个整数x, y, z(1 ≤ x, y, z ≤ 100).紧接着一个k(1 ≤ k ≤ 10)表示k次询问。每次询问三个整数x, y, z(1 ≤ x, y , z ≤ 100).若存在则输出"YES", 否则输出“NO”。输出“YES” 或者 ”NO“样例输入 Copy31 2 34 5 75 9 221 4 65 9 2样例输出 CopyNOYES

2021-12-10 17:05:07 644

空空如也

空空如也

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

TA关注的人

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