noi做题
文章平均质量分 64
Looy_cai
愿你能够
成为优秀的人
展开
-
310:Is It A Tree?(判断几棵树,查找有无环 并查集?)
思路妙啊~~~描述A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the following properties.There is exactly one node, called the root, to which原创 2021-02-05 23:10:33 · 333 阅读 · 0 评论 -
2011
题目描述已知长度最大为200位的正整数n,请求出2011^n的后四位。输入第一行为一个正整数k,代表有k组数据,k<=200接下来的k行,每行都有一个正整数n,n的位数<=200输出每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0样例输入3528792样例输出1051815521思路:首先要先对2011这个数有一个初步的了解,对后续算法有很大的帮助2011的n次方的后四位结果有一个规律:每500个数一循环。即:20111,2011501,20111原创 2021-02-03 23:23:59 · 1072 阅读 · 2 评论 -
6379:统计学生信息(使用动态链表完成)
题目描述利用动态链表记录从标准输入输入的学生信息(学号、姓名、性别、年龄、得分、地址)其中,学号长度不超过20, 姓名长度不超过40, 性别长度为1, 地址长度不超过40输入包括若干行,每一行都是一个学生的信息,如:00630018 zhouyan m 20 10.0 28#460输入的最后以"end"结束输出将输入的内容倒序输出每行一条记录,按照学号 姓名 性别 年龄 得分 地址的格式输出样例输入00630018 zhouyan m 20 10 28#46000063001原创 2021-02-02 09:02:35 · 1792 阅读 · 3 评论 -
1748:约瑟夫问题
题目描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 < m,n <=300)。最后一行是:0 0输出对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号样例输入6 212 48 30 0样例原创 2021-01-30 23:24:55 · 375 阅读 · 0 评论 -
STL做题(暂时有些东西还不大理解,以后还会回来补注解)
1806:词典题目描述你旅游到了一个国外的城市。那里的人们说的外国语言你不能理解。不过幸运的是,你有一本词典可以帮助你。输入首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。每一个词条包括一个英文单词和一个外语单词,两个单词之间用一个空格隔开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行,然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包括一个外语单词。输入中出现单词只包括小写字母,而且长度不会超过10。输出在输出中,你需要把输入文原创 2021-01-29 22:26:46 · 699 阅读 · 1 评论 -
6377:生日相同 2.0
题目描述在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。输入第一行为整数n,表示有n个学生,n ≤ 180。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于20)和出生月(1 ≤ m ≤ 12)日(1 ≤ d ≤ 31)。名字、月、日之间用一个空格分隔输出每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的名字,数字、名字之间都用一个空格原创 2021-01-29 18:46:03 · 799 阅读 · 0 评论 -
贪心 做题
记录贪心做题P1223 排队接水P1803 凌乱的yyy / 线段覆盖P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair GP1031 [NOIP2002 提高组] 均分纸牌P2240 【深基12.例1】部分背包问题P1080 [NOIP2012 提高组] 国王游戏P1223 排队接水题目题目描述有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这 n 个人排队的一种顺序,使得 n个人的平均等待时间最小。输入格式第一原创 2021-01-24 00:50:54 · 725 阅读 · 2 评论 -
1490:A Knight‘s Journey(DFS)(大概算普及题)需要回溯
题目描述BackgroundThe knight is getting bored of seeing the same black and white squares again and again and has decided to make a journeyaround the world. Whenever a knight moves, it is two squares in one direction and one square perpendicular to this. Th原创 2021-01-21 18:14:03 · 239 阅读 · 0 评论 -
323:棋盘问题(基础题)需要回溯
题目描述在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。输入输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示原创 2021-01-20 20:30:24 · 170 阅读 · 0 评论 -
4103:踩方格(简单题)需要回溯
题目描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b. 走过的格子立即塌陷无法再走第二次;c. 只能向北、东、西三个方向走;请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入允许在方格上行走的步数n(n <= 20)输出计算出的方案数量样例输入2样例输出7方法一:根据题目要求可得到一个规律:如果第一步往西,那么它的下一步原创 2021-01-20 15:43:57 · 478 阅读 · 0 评论 -
1817:城堡问题(深搜基础题)不需要回溯
题目输入程序从标准输入设备读入数据。第一行是两个整数,分别是南北向、东西向的方块数。在接下来的输入行里,每个方块用一个数字(0≤p≤50)描述。用一个数字表示方块周围的墙,1表示西墙,2表示北墙,4表示东墙,8表示南墙。每个方块用代表其周围墙的数字之和表示。城堡的内墙被计算两次,方块(1,1)的南墙同时也是方块(2,1)的北墙。输入的数据保证城堡至少有两个房间。输出城堡的房间数、城堡中最大房间所包括的方块数。结果显示在标准输出设备上。样例输入4711 6 11 6 3 10 67 9 6原创 2021-01-20 12:51:40 · 530 阅读 · 0 评论 -
6047:分蛋糕
题目描述有一块矩形大蛋糕,长和宽分别是整数w 、h。现要将其切成m块小蛋糕,每个小蛋糕都必须是矩形、且长和宽均为整数。切蛋糕时,每次切一块蛋糕,将其分成两个矩形蛋糕。请计算:最后得到的m块小蛋糕中,最大的那块蛋糕的面积下限。输入共有多行,每行表示一个测试案例。每行是三个用空格分开的整数w, h, m ,其中1 ≤ w, h, m ≤ 20 , m ≤ wh. 当 w = h = m = 0 时不需要处理,表示输入结束。输出每个测试案例的结果占一行,输出一个整数,表示最大蛋糕块的面积下限。样例输原创 2021-01-20 07:49:06 · 259 阅读 · 0 评论 -
Help Jimmy
题目描述“Help Jimmy” 是在下图所示的场景上完成的游戏:场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下落。Jimmy每次下落的高度不能超过MAX米,不然就会摔死,游戏也会结束。设计一个程序,计算Jimmy到底地面时可能的最早时间。输入第一行是测试数据原创 2021-01-19 22:27:09 · 161 阅读 · 0 评论 -
经典01背包问题(动态规划入门题)
题目:Charm Bracelet描述Bessie has gone to the mall’s jewelry store and spies a charm bracelet. Of course, she’d like to fill it with the best charms possible from the N(1 ≤ N≤ 3,402) available charms. Each charm iin the supplied list has a weight Wi(1 ≤ Wi≤原创 2021-01-19 17:43:03 · 752 阅读 · 0 评论 -
2192:Zipper(dfs/dp)
题目2192:Zipper查看提交统计提示提问总时间限制: 1000ms 内存限制: 65536kB描述Given three strings, you are to determine whether the third string can be formed by combining the characters in the first two strings. The first two strings can be mixed arbitrarily, but each must st原创 2021-01-19 11:54:13 · 210 阅读 · 0 评论 -
noi7620:区间合并
题目描述给定 n 个闭区间 [ai; bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可以合并。我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。输入第一行为一个整数n,3 ≤ n ≤ 50000。表示输入区间的数量。之后n行,在第i行上(1 ≤ i ≤ n),为两个整数 ai原创 2020-12-20 21:16:20 · 339 阅读 · 0 评论 -
noi 百练:简单的整数划分问题(递归)
http://bailian.openjudge.cn/practice/4117/描述将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。输入标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。输出对于每组测试数据,输出N的划分数。样例输入5样例输出7提示原创 2020-12-13 12:17:24 · 850 阅读 · 5 评论 -
noi (百练)算24(枚举+递归)
http://bailian.openjudge.cn/practice/2787/可有意思的一题了呢描述给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24。又比如,对于1,1,4,2,我们怎么都不能得到24。原创 2020-12-12 17:19:37 · 240 阅读 · 0 评论 -
百练:放苹果(递归)
http://bailian.openjudge.cn/practice/1664/描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出对输入的每组数据M和N,用一行输出相应的K。样例输入17 3样例输出8#include <iostream&原创 2020-12-10 19:59:04 · 118 阅读 · 0 评论 -
8758:2的幂次方表示(递归)
http://noi.openjudge.cn/ch0202/8758/描述任何一个正整数都可以用2的幂次方表示。例如:137=27+23+20同时约定方次用括号来表示,即ab可表示为a(b)。由此可知,137可表示为:2(7)+2(3)+2(0)进一步:7=22+2+20(21用2表示) 3=2+20所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)又如:1315=210+28+25+2+1所以1315最后可表示为:2(2(2+2(原创 2020-12-06 19:16:21 · 716 阅读 · 1 评论 -
1751:分解因数(递归)
描述给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * … * an,并且1 < a1 <= a2 <= a3 <= … <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (1 < a < 32768)输出n行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数样例输入2220样例输出14原创 2020-12-06 18:08:56 · 4130 阅读 · 2 评论 -
noi 递归之八皇后问题(一些关于“棋盘”的规律)
题源:http://noi.openjudge.cn/ch0205/1700/1700:八皇后问题总时间限制: 10000ms 内存限制: 65536kB描述在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。输入无输入。输出按给定顺序和格式输出所有八皇后问题的解(见Sample Output)。样例输入样例输出No. 11 0 0 0 0 0 0 00 0 0 0 0 0 1 00 0 0 0 1 0 0 00 0 0 0 0 0 0 10 1 0 0 0 0原创 2020-12-02 23:29:21 · 490 阅读 · 0 评论 -
noi汉诺塔问题(递归 非递归[栈,思维])
递归之汉诺塔问题http://noi.openjudge.cn/ch0202/6261/即用递归重复以上两步操作即可实现题目所要求的操作#include<stdio.h>//x为起始塔,y为中转塔,z为目的塔 void han(char x,char y,char z,int n){ if(n==0)return ; else{ han(x,z,y,n-1); printf("%c->%d->%c\n",x,n,z); han(y,x,z,n-1); }原创 2020-11-30 20:05:41 · 389 阅读 · 2 评论 -
noi 熄灯问题
noi 熄灯问题(参考b站up主厦大的Andy)http://noi.openjudge.cn/ch0201/1813/#include #include <stdio.h>#include<math.h>#include<stdlib.h>#include#include using namespace std;#define r 5#define c 6bool light[r+2][c+2];//让数组多一个边界好操作bool lightst原创 2020-11-29 19:04:01 · 195 阅读 · 0 评论