![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ题
haohulala
进击的蛋糕(dangao123coding)
展开
-
1051 Pop Sequence (25分)
Given a stack which can keepMnumbers at most. PushNnumbers in the order of 1, 2, 3, ...,Nand pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, ifMis 5 andNis 7, we can obta...原创 2020-08-29 09:24:36 · 174 阅读 · 0 评论 -
1023 Have Fun with Numbers (20分)
Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number consisting exactly the numbers from 1 to 9, only in a diffe原创 2020-08-14 15:41:12 · 206 阅读 · 0 评论 -
1004 Counting Leaves (30分)
A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.Input Specification:Each input file contains one test case. Each case starts with a line containing0<N<100, the number of nod.原创 2020-08-13 13:46:19 · 138 阅读 · 0 评论 -
1102 Invert a Binary Tree (25分)
The following is from Max Howell @twitter:Google: 90% of our engineers use the software you wrote (Homebrew), but you can't invert a binary tree on a whiteboard so fuck off.Now it's your turn to prove that YOU CAN invert a binary tree!Input Specifi原创 2020-07-16 19:16:10 · 180 阅读 · 0 评论 -
1021 Deepest Root (25分)
A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you are supposed to find the root that results in a highest tree. Such a root is calledthe deepest root.Input Specification:Each .原创 2020-07-15 15:52:32 · 237 阅读 · 0 评论 -
1020 Tree Traversals (25分)
Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the corresponding binary tree.Input Specification:Each inpu原创 2020-07-13 16:20:13 · 354 阅读 · 0 评论 -
1103 Integer Factorization (30分)
TheK−Pfactorization of a positive integerNis to writeNas the sum of theP-th power ofKpositive integers. You are supposed to write a program to find theK−Pfactorization ofNfor any positive integersN,KandP.Input Specification:Each input ...原创 2020-07-10 10:14:15 · 304 阅读 · 0 评论 -
1037 Magic Coupon
The magic shop in Mars is offering some magic coupons. Each coupon has an integerNprinted on it, meaning that when you use this coupon with a product, you may getNtimes the value of that product back! What is more, the shop also offers some bonus produ...原创 2020-07-10 08:33:48 · 147 阅读 · 0 评论 -
1033 To Fill or Not to Fill
1033To Fill or Not to Fill(25分)With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give di..原创 2020-07-09 17:07:38 · 264 阅读 · 0 评论 -
1003 Emergency (25分)
As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked原创 2020-07-08 20:39:47 · 172 阅读 · 0 评论 -
7-26 Windows消息队列
消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤105),随后N行,每行给出一个指令—...原创 2020-04-24 14:52:01 · 699 阅读 · 0 评论 -
7-25 朋友圈
某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M...原创 2020-04-24 14:05:01 · 604 阅读 · 0 评论 -
7-24 树种统计
随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤105),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。...原创 2020-04-23 13:38:13 · 682 阅读 · 1 评论 -
7-23 还原二叉树
给定一棵二叉树的先序遍历序列和中序遍历序列,要求计算该二叉树的高度。输入格式:输入首先给出正整数N(≤50),为树中结点总数。下面两行先后给出先序和中序遍历序列,均是长度为N的不包含重复英文字母(区别大小写)的字符串。输出格式:输出为一个整数,即该二叉树的高度。输入样例:9ABDFGHIECFDHGIBEAC输出样例:5解题思路:这道题主要是用到...原创 2020-04-23 13:19:14 · 1007 阅读 · 2 评论 -
7-22 堆栈模拟队列
设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):将元素item压入堆栈S; Eleme...原创 2020-04-22 16:58:09 · 2197 阅读 · 2 评论 -
7-21 求前缀表达式的值
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算结...原创 2020-04-22 12:04:42 · 491 阅读 · 0 评论 -
7-20 表达式转换
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格...原创 2020-04-21 14:26:08 · 521 阅读 · 0 评论 -
7-18 银行业务队列简单模拟
设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。编号为...原创 2020-04-20 12:04:10 · 258 阅读 · 0 评论 -
7-17 汉诺塔的非递归实现
借助堆栈以非递归(循环)方式求解汉诺塔的问题(n, a, b, c),即将N个盘子从起始柱(标记为“a”)通过借助柱(标记为“b”)移动到目标柱(标记为“c”),并保证每个移动符合汉诺塔问题的要求。输入格式:输入为一个正整数N,即起始柱上的盘数。输出格式:每个操作(移动)占一行,按柱1 -> 柱2的格式输出。输入样例:3输出样例:a -> ca ...原创 2020-04-20 11:45:30 · 1220 阅读 · 1 评论 -
7-15 QQ帐户的申请与登陆
实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤105),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超...原创 2020-04-17 14:31:03 · 380 阅读 · 0 评论 -
【PAT甲级】1099 Build A Binary Search Tree
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node's key. The right...原创 2020-04-16 11:34:01 · 160 阅读 · 0 评论 -
HDU1200 To and Fro
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=1200这道题挺简单的,我想到了两种办法,第一种就是常规的按照题目的意思画出矩阵,然后输出#include <cstdio>#include <cstring>using namespace std;#define MAXSIZE 210int main()...原创 2019-04-19 17:06:55 · 227 阅读 · 0 评论 -
算法题,输入一个矩阵,输出每一列最大的两个数
#include <iostream>using namespace std;void search(int a[][5] , int n){ //一个5行5列的矩阵 int max[2][5]; //分别表示前一个最大的数和后一个最大的数 int index[2]; index[0] = index[1] = 0; ...原创 2018-10-15 22:58:17 · 782 阅读 · 0 评论 -
杭电ACM算法题记录 ZJU1168
#include <stdio.h>/*这道题是一个递归题,有一个三个参数的递归函数w(a,b,c) *如果a<=0,b<=0,c<=0那么返回1 ×如果a>20,b>20,c>20返回w(20,20,20) *如果a<b,并且b<c返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c) *否则返回w(a-1...原创 2018-09-20 22:13:00 · 286 阅读 · 0 评论 -
算法题--小游戏
题目传送门https://blog.csdn.net/NNNNNNNNNNNNY/article/details/51592641?utm_source=blogxgwz6递归与回溯//这个程序是用来判断一个棋盘上给定的两个点相连的最短路径//使用递归和回溯法求解#include <stdio.h>#include <memory.h>#define MA...原创 2019-03-03 17:46:44 · 1018 阅读 · 0 评论 -
算法题--讨厌的青蛙
题目传送门https://blog.csdn.net/nnnnnnnnnnnny/article/details/51584284//青蛙问题,求解一条路径//这条路径中被一只青蛙压倒的稻子最多//青蛙只会在一个方向上前进,并且步长是一定的#include <stdio.h>#include <stdlib.h>#include <algorithm&...原创 2019-03-02 17:16:02 · 626 阅读 · 0 评论 -
杭电OJ 1.1.2 -- text reverse
题目传送门http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1&sectionid=2#include <iostream>#include <stdio.h>using namespace std;int main(){ int t, i, j; char tmp...原创 2019-03-05 15:17:01 · 232 阅读 · 0 评论 -
leetcode 746. 使用最小花费爬楼梯
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从...原创 2018-10-19 11:34:48 · 274 阅读 · 2 评论 -
TJU1001---天大OJ题
This is the first problem for test.Since all we know the ASCII code, your job is simple: Input numbers and output corresponding messages. InputThe input will contain a list of positive integer...原创 2018-10-13 12:18:05 · 3930 阅读 · 1 评论 -
leetcode 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"class Solution {public: string longestPalindrome(string s) { ...原创 2018-10-13 12:12:03 · 124 阅读 · 0 评论 -
leetcode 两数相加
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definition...原创 2018-10-13 12:09:34 · 115 阅读 · 0 评论 -
leetcode 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution { public int[] twoSum(in...原创 2018-10-13 12:08:02 · 143 阅读 · 0 评论 -
算法题--棋盘分割
题目https://blog.csdn.net/nnnnnnnnnnnny/article/details/51592665#include <stdio.h>#include <iostream>#include <algorithm>#include <iomanip>#include <memory.h>#incl...原创 2019-03-04 16:39:10 · 410 阅读 · 0 评论 -
算法题--汉诺塔问题的递归和非递归解法
讲解传送门https://www.bilibili.com/video/av10046345/?p=9老师讲的非常好//汉诺塔问题#include <iostream>#include <stack>using namespace std;//递归解法void Hanoi(int n, char src, char mid, char dest){ ...原创 2019-03-04 19:59:07 · 438 阅读 · 0 评论 -
动态规划--最长公共子串
题目传送门https://www.bilibili.com/video/av10046345/?p=10//这个程序求两个字符串的最长公共子串#include <iostream>#include <cstring>using namespace std;char sz1[1000];char sz2[1000];int maxLen[1000][100...原创 2019-03-04 20:43:04 · 684 阅读 · 0 评论 -
ZJU1195
书上P5//在书的P5页#define maxN 21 //这是设备容量,最多设备数为20int power[maxN]; //用于存储每个设备的功率int toggle[maxN]; //用于存储设备的开关状态,0号单元是没用的int n,m; //设备数和开关次数int c; //铁丝的容量int main(){ ...原创 2018-09-21 19:32:32 · 193 阅读 · 0 评论 -
记录两个很妙的算法
NO.1 交换两个数#include <iostream>using namespace std;void change_elem(int a,int b){ cout<<"a="<<a<<" b="<<b<<endl; int v = a + b; a = v - ...原创 2018-10-16 22:00:27 · 237 阅读 · 0 评论 -
hdu2175 汉诺塔IX
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=2175这是一道汉诺塔问题,我想把这道题记录下来是因为这道题涉及到一个关于汉诺塔的很重要的结论:汉诺塔问题在求第m次移动的是那一块盘子的时候其实可以转换成二进制。我们先来看一下二进制的规律,以3位二进制位例000001010011...回到汉诺塔上来,对于三块盘子的汉诺塔,...原创 2019-05-17 21:23:55 · 277 阅读 · 0 评论 -
分享一个做PAT乙级字符串题目的小技巧
其实这个小技巧很多人应该都知道,就是在做字符串处理的时候可以将输入串映射到128*4字节大小的int数组里,然后用输入得到的字符的ascii码值作为索引进行哈希,数组值可以存储当前字符出现的次数,也可以用作别的用途,具体看题目要求。这个方法非常好用,下面举一个小栗子1042字符统计(20分)题目传送门https://pintia.cn/problem-sets/99480526...原创 2019-04-19 17:39:04 · 334 阅读 · 0 评论 -
【HDU 2057】 A + B Again
题目传送门http://acm.hdu.edu.cn/showproblem.php?pid=2057题目要求我们求两个十六进制数的加和并且转换成十六进制输出,要注意的是,题目说数字的长度不超过15位,所以我们需要用longlong类型进行计算防止溢出,还要解析十六进制数的时候要注意每一位的权值都比上一位大16倍。#include <cstdio>#include <...原创 2019-04-28 13:49:54 · 171 阅读 · 0 评论