- 博客(24)
- 收藏
- 关注
原创 c++ 深搜,猴群
猴群时间限制:1秒 内存限制:128M题目描述给出一个由数字0~9组成的矩形,其中数字0代表树,1~9代表猴子,凡是由0或矩形边围起来的区域表示有一群猴子在这一带。编程求矩形中有多少群猴子输入描述第一行两个正整数,表示矩形的行数m和列数n,1<=m,n<=100 下面为一个mxn的数字矩形输出描述一行一个数,表示猴群的数目样例输入7 6100100000003000000000000050100004000000000输出6我
2022-04-14 20:41:35
1484
2
原创 c++中及其重要的递归(超详细)
1.了解递归的作用:递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言(如Scheme)中习惯用递归来实现循环。2.能解决的问题:数据的定义是按递归定义的。如Fibonacci函数。问题解法按递归算法实现。如Hanoi问题。数据的结构形式是按递归定义的。如二叉树、广义表等3.结构:一递一归;必须有结束条件4.实
2022-01-26 17:31:14
2557
1
原创 c++极其为重要的离散化
利用C++的STL实现离散化因为以前一直是手写实在太丑,所以总结了一下STL离散化的方法。大体分为:①将序列复制一份,并排序②利用unique去重③枚举原数组,利用lower_bound在排好序的数组中找位置④具体操作会涉及到STL迭代器的基本使用,详见STL的使用方法(其实就是一点地址使用的常识先数据存入容器对象vector vec,保证使用unique前 数据是有序的:使用sort排序:sort(vec.begin(),vec.end());unique离散化:此时unique离
2022-01-26 17:20:11
1095
原创 【c++】水仙花数1到1亿所有的
#include <bits/stdc++.h>#include <windows.h>using namespace std;int main(){ cout<<"正在计算水仙花数"<<endl; Sleep(3000); int cnt=0; for(int i=100;i<=999;i++) { if((pow(i%10,3)+pow(i/10%10,3)+pow(i/100,3))==i) { cout<&l
2022-01-23 12:10:39
259
原创 圆周率【后10000位】
圆周率=3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091
2022-01-23 12:09:35
1186
原创 【c++】删除链表中的元素
删除链表中的元素时间限制:1秒 内存限制:128M题目描述给定N个整数,从前往后删除与M相同的结点的下一个结点(如果被删的结点为M则它后面的不处理)。输入描述输入包含3行:第一行是一个整数n(1 <= n <= 200000),代表数组中元素的个数。第二行包含n个整数,代表数组中的n个元素。每个整数之间用空格分隔;每个整数的取值在32位有符号整数范围以内。第三行是一个整数M输出描述输出只有1行:将链表内所有待删除元素删除以后,输出链表内的剩余元素的值,每个整数
2022-01-23 12:06:03
806
原创 【c++】单链表
单链表时间限制:1秒 内存限制:128M题目描述实现一个单链表,链表初始为空,支持三种操作:1、向链表头插入一个数;2、删除第k个插入的数后面的数3、在第k个插入的数后插入一个数现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。输入描述第一行包含整数M,表示操作次数。接下来M行,每行包含一个操作命令,操作命令可能为以下几种:(1) “H x”,表示向链表头插入一个数x。(2) “D k”,表示删除第k个输入的数后面的数(当k为0时,表示删除头结点)。
2022-01-23 12:04:23
419
原创 【c++】链表的插入
链表的插入时间限制:1秒 内存限制:128M题目描述给定一个链表对链表进行插入操作,最后顺序输出链表输入描述第一行一个整数n(2<=n<=1000000),代表初始链表中的元素。第二行含n个整数t(int范围),表示链表的每一个结点的值,链表前面指向后面。第三行一个数m(1<=m< n ),代表要插入的结点的数量。第4~m+3行,每行两个整数x和y(2<=x<n,y是int范围),代表从第x个输入的数后面插入一个结点,结点的值是y。输出描
2022-01-23 12:03:19
1757
原创 P1149 [NOIP2008 提高组] 火柴棒等式
火柴棒等式时间限制:1秒 内存限制:128M题目描述给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示:注意:加号与等号各自需要两根火柴棍如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)n根火柴棍必须全部用上输入描述输入一行,一个整数n(n<=24)。输出描述输出一行,表示能拼成的不同等式的数目。样例输入
2022-01-23 12:01:24
461
1
原创 【c++】楼层编号
楼层编号时间限制:1秒 内存限制:128M题目描述小林在NOIP比赛期间住在“新世界”酒店。和其他酒店不一样的是,这个酒店每天都有一个高能的数字t,这个数字在楼层中是不会出现的,以t=3为例,则3、13、31、33等楼层是不存在的,楼层编号为1,2,4,5,……所以实际上的4楼才是3楼 已知小林预定了编号为m层的房间,并且当天高能数字是t,现在他想知道房间所在的真实楼层是多少输入描述一行两个整数m和t,1<=m<=100000,0<=t<=9,保证m对t合法
2022-01-23 11:59:11
2652
1
原创 c++[NOIP2016 普及组] 回文日期
在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。 牛牛习惯用 8 位数字表示一个日期。其中,前 4 位代表年份,接下来 2 位代表月份,最后 2 位代表日期。显然一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的 8 位数字是回文的。现在,牛牛想知道在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是回文的。一个 8 位数字是回文的,当且仅当对于所有的 i ( 1 <=i<= 8 )从左向右数
2022-01-23 11:57:07
319
原创 c++源代码,无敌整蛊,不要自己运行
欢迎来到整蛊课堂:我希望大家可以在你的仇人电脑上用 ?????下面有请三个超整蛊代码上场:1.#include<bits/stdc++.h>#include<windows.h>#include<stdlib.h>using namespace std;int main(){ int n; cout<<"开始游戏按1"<<endl; cin>>n; if(n==1) { for(int i=0;i<
2021-11-21 18:07:12
2383
原创 【无标题】源代码:讲解回文日期
题目描述在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。 牛牛习惯用 8 位数字表示一个日期。其中,前 4 位代表年份,接下来 2 位代表月份,最后 2 位代表日期。显然一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。牛牛认为,一个日期是回文的,当且仅当表示这个日期的 8 位数字是回文的。现在,牛牛想知道在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是回文的。一个 8 位数字是回文的,当且仅当对于所有的 i ( 1 <=i<
2021-11-21 17:29:18
124
原创 源代码:c++坑爹小代码(朋友直叫娘)
此代码献给你仇人:完全可以复制#include <bits/stdc++.h> ~ #include <stdlib.h>#include <windows.h>using namespace std;int main(){ f
2021-11-21 17:23:53
1254
原创 c++整蛊代码,小朋友崩溃(源代码):
此代码不建议用在自己电脑上。否则5分钟内你无法切屏和关闭。#include<iostream>#include<string.h>#include<stdio.h> #include<windows.h>using namespace std;int main(){ cout<<"如果你不想死,那么就开始游戏,输入(start)"<<endl; string a; cin>>a; int
2021-11-21 17:12:05
2565
1
原创 c++源代码:时钟(年,月,日)
#include<iostream>#include<windows.h>using namespace std;int main(){int a=0,b=0,c=0,d=0;int e,f,g;cout<<"请输入年月日(中间用空格隔开)"<<endl;cin>>e>>f>>g; for(int i=0;;i++){ cout<<a<<" "<<':'<&.
2021-11-21 16:56:37
1864
原创 NOIP 陶陶摘苹果
题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出1010个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个3030厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知1010个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入格式输入包括两行数据。第一行包含1010个100100到200200之间(包括100100和200200)的整数(以...
2021-10-23 10:46:12
342
原创 2021-10-22 C++洛谷超水(滑稽)题:hello world(提升版)
大家肯定都做过洛谷吧!有一次一个朋友给我发了一道题,我看了后笑了。这么简单的题,我简简单单的回了一句:cout<<"Hello,World!";过了一会朋友说不是这道题,随后把链接发给了我,我打开看了后才发现“一切并非这么简单”那道题竟是这样的:你们可以看看,链接:Hello world! - 洛谷呃呃呃呃呃呃呃呃~~~~~朋友发到:你帮帮我吧!我:你不做不行吗???朋友:嘿,你不会了是吧,你个zz;我:已急;我一会胳膊,开...
2021-10-22 22:20:32
2152
翻译 惊爆!某编程师因递归无限调用引发电脑爆炸!
目录目录1定义 2 介绍 ▪一个条件的例子 ▪ 条件 3计算 4例子定义一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数,例如连加、连乘及阶乘等。凡是递归的函数,都是可计算的,即能行的[1]。古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归”。它是古典递归函数论的研究对象[1]。介绍在数理逻辑和计算机科学中,递归函数或μ-递归...
2021-10-04 19:20:26
321
原创 疯狂逃亡1.6.2(源代码)
#include<bits/stdc++.h>using namespace std;int n;int first(){ cout<<"你在开车,突然刹车失灵了,前方是悬崖,你只能左转或右转"<<endl; cout<<"左转按下11,右转按下12"<<endl; cin>>n; if(n==11){ cout<<"左边有一棵大树,你撞上了树,你死了"<<e...
2021-10-04 19:19:56
122
原创 c++中重要的指针
指针变量是指存放地址的变量。因地址的改变而做出指定性质的衡量变法目录1概述 2定义 3 区别概述存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。举例:int a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址的指针变量,即p=&a中存放的值为0x065FDF4H(a的值为68,&a...
2021-09-13 21:43:28
576
原创 结构体的应用(c++)
结构体是由一批数据组合而成的一种新的数据类型。组成结构数据的每个数据称为结构型数据的“成员”。结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常用来表示类型不同但是又相关的若干数据。结构体类型不是由系统定义好的,而是需要程序设计者自己定义的。C语言提供了关键字struct来标识所定义的结构体类型。关键字struct和结构体名组合成一种类型标识符,其地位如同通常的int、char等类型标识符,其用途就像 i
2021-09-13 21:17:19
396
原创 自定义函数的应用
用户自定义函数是指如果要在公式或计算中使用特别复杂的计算,而工作表函数又无法满足需要,则需要创建用户自定义函数。这些函数,称为用户自定义函数,可以通过使用 Visual Basic for Applications 来创建。自定义函数的格式:自定义函数必须有返回。而主函数该如何调用呢?这样:函数名(实参);可以用一个变量来接收:如:int c=函数名(实参);下面来几道题试一试吧!1.输入一个正整数n,输出一个n行的等腰三角形。(请使用自定义函数来解答)。答.
2021-09-13 21:08:49
1348
原创 归并排序以及分治思想的讲解
分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。分治法是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅里叶变换)等等。目录1分治法 2 适用条件 3设计步骤 4大整数乘法分治法在求解一个输入规模为n,而n的取值又很大的问题时,直接求解往往非常困难。这时...
2021-09-13 20:57:12
203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人