![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复旦大学上机考试
chenjixuan20
探索答案
展开
-
复旦大学计算机学院上机考试——(2017-2)9位ISBN,求其校验位
问题描述:给定一个9位数字的ISBN,求其校验位。ISBN格式为2-02-033598,校验位的计算方法如下:从左到右依次将各位数字乘10,9,8,……,2,求出其和S,作模运算得M=S mod 11。若11-M在1和9之间,校验位即为该数字;若11-M等于10,校验位为X;11-M等于11,校验位为0。输出添加校验位的ISBN,如2-02-033598-0。样例输入:输入1:...原创 2020-04-06 23:14:21 · 306 阅读 · 1 评论 -
复旦大学计算机学院上机考试——(2017-1)中位数
问题描述:给定一个整数序列,求中位数。如果序列个数为奇数,中位数为升序的中间位置,如果是偶数,这位升序的中间两个数的平均值。样例输入:输入包含多组测试数据,每一组第一行为n(n<10^4)表示这个序列的个数,接下来有n个整数k(0<k<2^31-1)输入:52 1 4 3 5输入:3输入:41 4 3 2输出:3思路:...原创 2020-04-06 22:56:44 · 307 阅读 · 1 评论 -
复旦大学计算机学院上机考试——(2019-3)有向树形态
题目描述:求N个结点能够组成的二叉树的个数。样例输入:输入:3输出:5思路:使用规律:N个结点能组成的二叉树个数为代码:c++ 的long long最多测试到14。只能过一部分测试用例。#include <cstdio> int main(){ int n; scanf("%d", &n); long long a =...原创 2020-04-06 22:28:26 · 439 阅读 · 1 评论 -
复旦大学计算机学院上机考试——(2019-2) 最大连续子序列
问题描述:给定一个数字序列A1,A2…An,求i,j(1<=i<=j<=n),使得Ai+…+Aj最大,输出这个最大和。样例输入:输入:6-2 11 -4 13 -5 -2输出:20思路:1.记录每个a[i]的最大sum, 然后找到最大的一个输出。时间复杂度O(n^2)2.动态规划。很经典的动态规划题。利用dp[i]记录以a[i]结...原创 2020-04-06 17:42:12 · 615 阅读 · 4 评论 -
复旦大学计算机学院上机考试——(2019-1) 相隔天数
题目描述:输入日期格式:YYYYMMDD,求与20190205相隔天数。样例输入:输入:20190208输出:3思路:这道题短小精悍,还是有点难度的。用数组a[13][2]记录每月的天数,其中a[1][0]表示不是闰年时1月的天数, a[1][1]表示闰年时1月的天数。然后根据数组中的数据作为进位的边界。闰年:闰年是公历中的名词。闰年分为普通闰...原创 2020-04-06 17:32:31 · 430 阅读 · 0 评论 -
复旦大学计算机学院上机考试——(2016-3) 字符串的哈夫曼编码长度
问题描述:给定一个字符串(长度不超过100),求哈夫曼编码的最短长度样例输入:样例1:输入:abbcccdddd输出:19样例2:输入:we will we will r u输出:50思路:直接建哈夫曼树,再对叶子节点进行编码(编码规则:左1右0),最后计算编码长度。这种方法比较麻烦,可以根据哈夫曼树的性质来进行简化。规律...原创 2020-03-24 00:25:14 · 853 阅读 · 0 评论 -
复旦大学计算机学院上机考试——(2016-2)后缀表达式求值
问题描述:给定一个后缀序列,要求求值,只有加减样例输入:输入:123++4-输出:2代码:#include <cstdio>#include <stack>#include <cstring>using namespace std;const int maxn = 1010;char str[maxn];...原创 2020-03-21 14:23:37 · 241 阅读 · 0 评论 -
复旦大学计算机学院上机考试——(2015-2)a与b运算得到c
问题描述:给出a,b,c(3个整数),判断a,b能否通过+-*/得到c,ab可以交换位置,可以输出YES,不行输出NO样例输入:输入:3 8 2输出:NO代码:#include <cstdio>int main(){ int a, b, c; scanf("%d%d%d", &a, &b, &c); int ...原创 2020-03-21 11:56:04 · 253 阅读 · 0 评论 -
复旦大学计算机学院上机考试——(2013-1)字符串匹配输出所有匹配pos
问题描述:首行的数字表示有多少组字符串。对于主串M和模式串P,找到P在M中出现的所有子串的第一个字符在M中的位置。M中第一个字符所在的位置为0。样例输入:输入:2ababababaababaaaaaa输出:0 2 40 1思路:c++中有string包中有find函数。用pos记录从str中给定位置开始,str2出现的位置;再从pos+1开始进...原创 2020-04-06 16:53:56 · 269 阅读 · 0 评论 -
复旦大学计算机学院上机考试——(2012-1) 1000名求前30%
问题描述:输入1000个成绩,输出前百分之30的成绩数据:无思路:在处理大量数据输入并且返回一定量的排序时,一般使用堆排序。王道的数据结构中的例子:输入10000个数据,返回最大的10个,常使用堆排序。我这里使用优先队列,c++中优先队列的底层是使用堆来实现的。priority_queue<int> q; //默认是从大到小排序,即数据越大,优先级越大...原创 2020-04-06 15:50:56 · 360 阅读 · 0 评论