自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NOI / 1.6编程基础之一维数组——07:有趣的跳跃

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

2021-04-11 17:03:20 1093

原创 NOI / 1.5编程基础之循环控制——29:数字反转

总时间限制: 1000ms 内存限制: 65536kB描述给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。输入输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。输出输出共 1 行,一个整数,表示反转后的新数。样例输入样例 #1:123样例 #2:-380样例输出样例 #1:321样例 #2:-83来源NOIP2011

2021-03-14 16:18:11 973

原创 NOI / 1.4编程基础之逻辑表达式与条件分支——09:判断能否被3,5,7整除

总时间限制: 1000ms 内存限制: 65536kB描述给定一个整数,判断它能否被3,5,7整除,并输出以下信息:1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);3、只能被其中一个数整除(输出这个除数);4、不能被任何数整除,输出小写字符‘n’,不包括单引号。输入输入一行,包括一个整数。输出输出一行,按照描述要求给出整数被3,5,7整除的情况。样例输入

2021-03-14 15:43:46 389

转载 NOI / 1.4编程基础之逻辑表达式与条件分支——06:判断是否为两位数

总时间限制: 1000ms 内存限制: 65536kB描述判断一个正整数是否是两位数(即大于等于10且小于等于99)。输入一个正整数,不超过1000。输出一行。若该正整数是两位数,输出1,否则输出0。样例输入54样例输出1#include<iostream>#include<cstdio>using namespace std;int x;void init(){ cin>>x;}void work(){ if(x>=10

2021-03-14 15:43:21 347

原创 NOI / 1.5编程基础之循环控制——21:角谷猜想

总时间限制: 1000ms 内存限制: 65536kB描述所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。输入一个正整数N(N <= 2,000,000)输出从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。样例输入5样例

2021-03-14 15:41:33 458

原创 NOI / 1.5编程基础之循环控制——12:与指定数字相同的数的个数

总时间限制: 1000ms 内存限制: 65536kB描述输出一个整数序列中与指定数字相同的数的个数。输入输入包含2行:第1行为N和m,表示整数序列的长度(N <= 100)和指定的数字, 中间用一个空格分开;第2行为N个整数,整数之间以一个空格分开。输出输出为N个数中与m相同的数的个数。样例输入3 22 3 2样例输出2#include<iostream>#include<cstdio>using namespace std;int m,n,

2021-03-07 16:53:48 265

原创 NOI NOI / 1.4编程基础之逻辑表达式与条件分支——05:整数大小比较

总时间限制: 1000ms 内存限制: 65536kB描述输入两个整数,比较它们的大小。输入一行,包含两个整数x和y,中间用单个空格隔开。0 <= x < 2^32, -2^31 <= y < 2^31。输出一个字符。若x > y,输出 > ;若x = y,输出 = ;若x < y,输出 < ;样例输入1000 100样例输出#include<iostream>#include<cstdio>using

2020-12-21 20:29:55 213

原创 NOI / 1.4编程基础之逻辑表达式与条件分支——04:奇偶ASCII值判断

总时间限制: 1000ms 内存限制: 65536kB描述任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO输入输入一个字符输出如果其ASCII值为奇数,则输出YES,否则,输出NO样例输入A样例输出YES#include<iostream>#include<cstdio>using namespace std;char n;voi

2020-12-21 20:28:31 273

原创 NOI / 1.4编程基础之逻辑表达式与条件分支——03:奇偶数判断

总时间限制: 1000ms 内存限制: 65536kB描述给定一个整数,判断该数是奇数还是偶数。输入输入仅一行,一个大于零的正整数n。输出输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。样例输入5样例输出odd#include<iostream>#include<cstdio>using namespace std;int n;void init(){ scanf("%d",&n);}void work(){ if(

2020-12-21 20:27:15 359 1

原创 NOI / 1.4编程基础之逻辑表达式与条件分支——02:输出绝对值

总时间限制: 1000ms 内存限制: 65536kB描述输入一个浮点数,输出这个浮点数的绝对值。输入输入一个浮点数,其绝对值不超过10000。输出输出这个浮点数的绝对值,保留到小数点后两位。样例输入-3.14样例输出3.14#include<iostream>#include<cstdio>#include<cmath> using namespace std;double x;void init(){ scanf("%lf",&am

2020-12-21 20:25:55 373

转载 NOI / 1.3编程基础之算术表达式与顺序执行——20:计算2的幂

总时间限制: 1000ms 内存限制: 65536kB描述给定非负整数n,求2n。输入一个整数n。0 <= n < 31。输出一个整数,即2的n次方。样例输入3样例输出8#include<iostream>#include<cstdio>#include<cmath> using namespace std;int n,x;void init(){ scanf("%d",&n);}void work(){ x

2020-12-21 20:24:40 249

原创 NOI / 1.3编程基础之算术表达式与顺序执行——17:计算三角形面积

总时间限制: 1000ms 内存限制: 65536kB描述平面上有一个三角形,它的三个顶点坐标分别为(x1, y1), (x2, y2), (x3, y3),那么请问这个三角形的面积是多少。输入输入仅一行,包括6个单精度浮点数,分别对应x1, y1, x2, y2, x3, y3。输出输出也是一行,输出三角形的面积,精确到小数点后两位。样例输入0 0 4 0 0 3样例输出6.00提示海伦公式这里,先普及一下有关海伦公式的知识:海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦

2020-12-21 20:22:47 1380

原创 NOI / 1.3编程基础之算术表达式与顺序执行——16:计算线段长度

总时间限制: 1000ms 内存限制: 65536kB描述已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb),求线段AB的长度。输入共两行。第一行是两个实数Xa,Ya,即A的坐标。第二行是两个实数Xb,Yb,即B的坐标。输入中所有实数的绝对值均不超过10000。输出一个实数,即线段AB的长度,保留到小数点后3位。样例输入1 12 2样例输出1.414#include<iostream>#include<cstdio>#include<c

2020-12-21 20:11:43 360

原创 NOI / 1.3编程基础之算术表达式与顺序执行——13:反向输出一个三位数

总时间限制: 1000ms 内存限制: 65536kB描述将一个三位数反向输出。输入一个三位数n。输出反向输出n。样例输入100样例输出001#include<iostream>#include<cstdio>using namespace std;int n,g,sh,b;void init(){ scanf("%d",&n);}void work(){ b=n/100; sh=n%100/10; g=n%10; printf

2020-12-21 20:09:48 223

转载 NOI / 1.3编程基础之算术表达式与顺序执行——11:计算浮点数相除的余数

总时间限制: 1000ms 内存限制: 65536kB描述计算两个双精度浮点数a和b的相除的余数,a和b都是正数的。这里余数(r)的定义是:a = k * b + r,其中 k是整数, 0 <= r < b。输入输入仅一行,包括两个双精度浮点数a和b。输出输出也仅一行,a÷b的余数样例输入73.263 0.9973样例输出0.4601提示注意:输出时小数尾部没有多余的0,可以用下面这种格式:double x;x = 1.33;printf("%g", x);#in

2020-12-21 20:07:07 281

原创 NOI / 1.1编程基础之输入输出——01:Hello, World!

总时间限制: 1000ms 内存限制: 65536kB描述对于大部分编程语言来说,编写一个能够输出“Hello, World!”的程序往往是最基本、最简单的。因此,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。现在你就需要完成这样一个程序。输入无。输出一行,仅包含一个字符串:“Hello, World!”样例输入(无)样例输出Hello, World!提示使用英文标点符号;逗号后面有一个空格。#include<

2020-12-21 20:04:31 290

原创 NOI / 1.3编程基础之算术表达式与顺序执行——15:苹果和虫子

总时间限制: 1000ms 内存限制: 65536kB描述你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?输入输入仅一行,包括n,x和y(均为整数)。输入数据保证y <= n * x。输出输出也仅一行,剩下的苹果个数样例输入10 4 9样例输出7提示注意:是要求完整的苹果数#include<iostream>#include<cstdio&g

2020-12-06 18:55:11 450

原创 NOI / 1.3编程基础之算术表达式与顺序执行——14:大象喝水

总时间限制: 1000ms 内存限制: 65536kB描述一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数)。问大象至少要喝多少桶水才会解渴。输入输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米。输出输出一行,包含一个整数,表示大象至少要喝水的桶数。样例输入23 11样例输出3提示如果一个圆桶的深为h厘米,底面半径为r厘米,那么它最多能装Pi * r * r * h立方厘米的水。(设Pi=3

2020-12-06 18:37:45 664

原创 NOI / 1.3编程基础之算术表达式与顺序执行——12:计算球的体积

总时间限制: 1000ms 内存限制: 65536kB描述对于半径为r的球,其体积的计算公式为V=4/3*πr3,这里取π= 3.14。现给定r,求V。输入输入为一个不超过100的非负实数,即球半径,类型为double。输出输出一个实数,即球的体积,保留到小数点后2位。样例输入4样例输出267.95#include<iostream>#include<cstdio>#include<cmath>using namespace std;do

2020-12-06 18:36:35 646

原创 NOI / 1.3编程基础之算术表达式与顺序执行——07:计算多项式的值

总时间限制: 1000ms 内存限制: 65536kB描述对于多项式f(x) = ax3 + bx2 + cx + d 和给定的a, b, c, d, x,计算f(x)的值。输入输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。输出输出一个实数,即f(x)的值,保留到小数点后7位。样例输入2.31 1.2 2 2 3样例输出33.0838692#include<iostream>#inclu

2020-12-06 18:34:06 518

原创 NOI / 2.1基本算法之枚举——2983:谁是你的潜在朋友

总时间限制: 1000ms 内存限制: 65536kB描述“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅

2020-10-25 17:36:59 263

原创 NOI / 1.2编程基础之变量定义、赋值及转换例题网址

NOI / 1.2编程基础之变量定义、赋值及转换例题网址有用请扣666

2020-07-12 17:29:19 314

原创 NOI / 1.1编程基础之输入输出例题网址

NOI / 1.1编程基础之输入输出例题网址有用请扣666

2020-07-12 17:27:31 179

原创 NOI / 1.5编程基础之循环控制例题网址

NOI / 1.5编程基础之循环控制例题网址有用请扣666

2020-07-12 17:23:33 309

原创 秒懂秒上手——贪心算法全知道(带例题+详解)

例题一的完整代码:#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int MAXN=1000;int a[MAXN],s[MAXN];int main(){ int n,r,j=0,minx=0; memset(s,0,sizeof(s)); cin>>n>>r; for(int i..

2020-07-05 17:43:09 532

原创 NOI / 2.5基本算法之搜索——323:棋盘问题(带注释哦)

总时间限制: 1000ms 内存限制: 65536kB描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:

2020-07-05 16:06:27 319

原创 NOI / 2.6基本算法之动态规划——2718:移动路线

总时间限制: 1000ms 内存限制: 65536kB描述×桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出不同的移动路线的数目。对于1行1列的方格矩阵,蚂蚁原地移

2020-07-05 14:12:54 497

原创 搜索与回溯——广搜与深搜

深搜优点1、能找出所有解决方案2、优先搜索一棵子树,然后是另一棵,所以和广搜对比,有着内存需要相对较少的优点缺点1、要多次遍历,搜索所有可能路径,标识做了之后还要取消。2、在深度很大的情况下效率不高void DFS() //N代表目前DFS的深度{ if(找到解) //进行相应的操作 { … return; } for(inti=0;i<4;i++) //枚举四个方向 { DFS(N+1); //进入下层递归 }}一般情况下,套用上述公式即可。(枚举

2020-07-05 13:57:08 276

原创 NOI / 2.3基本算法之递归变递推——题目 排名 状态 提问 9273:PKU2506Tiling

总时间限制: 2000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB描述对于一个2行N列的走道。现在用12,22的砖去铺满。问有多少种不同的方式。下图是一个2行17列的走道的某种铺法。输入整个测试有多组数据,请做到文件底结束。每行给出一个数字N,0 <= n <= 250输出如题样例输入2812100200样例输出3171273184510040015215293433113547025110712920295059935170279

2020-05-10 15:05:17 400 1

原创 NOI / 2.3基本算法之递归变递推——6262:流感传染 武汉加油!!!

总时间限制: 1000ms 内存限制: 65536kB描述有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染。请输出第m天得流感的人数。输入第一行一个数字n,n不超过100,表示有n*n的宿舍房间。接下来的n行,每行n个字符,’.’表示第一天该房间住着健康的人,’#’表示该房间空着,’@’表示第一天该房间住着得流感的人。接下来的一行

2020-05-10 14:16:19 915

原创 搜索与回溯小练习1

1.素数环:从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数。#include<cstdio>#include<iostream>#include<cstdlib>#include<cmath>using namespace std;bool b[21]={0};int total=0,a[21]={0};int sea...

2020-05-03 16:45:39 214

原创 一分钟了解搜索与回溯

递归回溯法算法框架[一]int Search(int k){ for (i=1;i<=算符种数;i++)  if (满足条件)   {    保存结果    if (到目的地) 输出解;    else Search(k+1);    恢复:保存结果之前的状态{回溯一步}    }}递归回溯法算法框架[二]int Search(int k)...

2020-05-03 15:54:18 205

原创 一分钟了解递推

递推的特点在于,每一项都和他前面的若干项由一定的关联,这种关联一般可以通过递推关系式来表示,可以通过其前面若干项得出某项的数据。对于递推问题的求解一般从初始的一个或若干个数据项出发,通过递推关系式逐步推进,从而得出想要的结果,这种求解问题的方法叫递推法。其中,初始的若干数据项称为边界。练习1:把雌雄各一的一对新兔子放入养殖场中。每只雌兔在出生两个月以后,每月产雌雄各一的一对新兔子。试问第n...

2020-05-03 14:02:09 1596

原创 NOI / 2.3基本算法之递归变递推——666:放苹果

总时间限制: 1000ms 内存限制: 65536kB描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。...

2020-04-20 20:09:50 583 2

原创 NOI / 2.6基本算法之动态规划——4982:踩方格

总时间限制: 1000ms 内存限制: 65536kB描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b. 走过的格子立即塌陷无法再走第二次;c. 只能向北、东、西三个方向走;请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入允许在方格...

2020-04-19 18:43:50 282 1

原创 NOI / 1.6编程基础之一维数组——11:大整数减法

总时间限制: 1000ms 内存限制: 65536kB描述求两个大的正整数相减的差。输入共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。输出一行,即所求的差。样例输入99999999999999999999999999999999999999999999999999样例输出9999999999999999999999...

2020-04-19 14:34:23 402

原创 NOI / 1.6编程基础之一维数组——10:大整数加法

总时间限制: 1000ms 内存限制: 65536kB描述求两个不超过200位的非负整数的和。输入有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。输出一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。样例输入2222222222222222222233333333333333333333样例输出55555555555...

2020-04-19 14:32:15 401

原创 NOI / 1.6编程基础之一维数组——12:计算2的N次方

总时间限制: 1000ms 内存限制: 65536kB描述任意给定一个正整数N(N<=100),计算2的n次方的值。输入输入一个正整数N。输出输出2的N次方的值。样例输入5样例输出32提示高精度计算#include <bits/stdc++.h>using namespace std;int a[1000],len;char s[1000],t[1...

2020-04-12 18:43:25 659

原创 NOI / 1.6编程基础之一维数组——13:大整数的因子

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

2020-04-12 18:32:28 910 2

原创 高精度算法全知道

看到这句话请回复666并点赞,谢谢支持!

2020-04-12 17:07:54 82

空空如也

空空如也

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

TA关注的人

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