题目链接:http://ac.jobdu.com/problem.php?pid=1010
题目1010:A + B
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5629
解决:2928
-
题目描述:
-
读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
-
输入:
-
测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
-
输出:
-
对每个测试用例输出1行,即A+B的值.
-
样例输入:
-
one + two =
three four + five six =
zero seven + eight nine =
zero + zero =
-
样例输出:
-
3
90
96
-
来源:
-
2005年浙江大学计算机及软件工程研究生机试真题
解题思路:
新技能·····字符串到整数的映射·······map
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
题目链接:http://ac.jobdu.com/problem.php?pid=1011
题目1011:最大连续子序列
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4448
解决:2137
-
题目描述:
-
给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和为20。现在增加一个要求,即还需要输出该子序列的第一个和最后一个元素。
-
输入:
-
测试输入包含若干测试用例,每个测试用例占2行,第1行给出正整数K( K< 10000 ),第2行给出K个整数,中间用空格分隔。当K为0时,输入结束,该用例不被处理。
-
输出:
-
对每个测试用例,在1行里输出最大和、最大连续子序列的第一个和最后一个元素,中间用空格分隔。如果最大连续子序列不唯一,则输出序号i和j最小的那个(如输入样例的第2、3组)。若所有K个元素都是负数,则定义其最大和为0,输出整个序列的首尾元素。
-
样例输入:
-
6
-2 11 -4 13 -5 -2
10
-10 1 2 3 4 -5 -23 3 7 -21
6
5 -8 3 2 5 0
1
10
3
-1 -5 -2
3
-1 0 -2
0
-
样例输出:
-
20 11 13
10 1 4
10 3 5
10 10 10
0 -1 -2
0 0 0
-
来源:
-
2005年浙江大学计算机及软件工程研究生机试真题
解题思路:
对数组进行O(n)的扫描,寻找最大连续子序列和,同时记录起始数和终止数。
先说说O(n)的扫描······思想就是当从 s 加到 e 发现和小于0的时候,那么 s 到 e - 1 一定大于 0 ·····很好想····不用证明······回到正题,小于0的话把 s 更新成 e + 1 ,即下一次我们从 e + 1位置开始记录(比暴力那种方法时间复杂度降了好多)·······具体证明·····百度一下,你就知道······
时间复杂度降下来了······但是这是你会发现样例结果出现了WA,比如-1 , 0 , -2这组数据,起始数和终止数应该都是0······这种情况下就在扫面前把序列里的最小数找出来,记录为key,扫描前让 s 和 e 都初值为key·······很不错·······
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
题目链接:http://ac.jobdu.com/problem.php?pid=1015
题目1015:还是A+B
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4980
解决:3002
-
题目描述:
-
读入两个小于10000的正整数A和B,计算A+B。需要注意的是:如果A和B的末尾K(不超过8)位数字相同,请直接输出-1。
-
输入:
-
测试输入包含若干测试用例,每个测试用例占一行,格式为"A B K",相邻两数字有一个空格间隔。当A和B同时为0时输入结束,相应的结果不要输出。
-
输出:
-
对每个测试用例输出1行,即A+B的值或者是-1。
-
样例输入:
-
1 2 1
11 21 1
108 8 2
36 64 3
0 0 1
-
样例输出:
-
3
-1
-1
100
-
来源:
-
2006年浙江大学计算机及软件工程研究生机试真题
解题思路:
没什么好说的······测试它的服务器质量的题········
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
题目链接:http://ac.jobdu.com/problem.php?pid=1016
题目1016:火星A+B
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4117
解决:1122
-
题目描述:
-
读入两个不超过25位的火星正整数A和B,计算A+B。需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数。例如:地球上的10进制数2,在火星上记为“1,0”,因为火星个位数是2进制的;地球上的10进制数38,在火星上记为“1,1,1,0”,因为火星个位数是2进制的,十位数是3进制的,百位数是5进制的,千位数是7进制的……
-
输入:
-
测试输入包含若干测试用例,每个测试用例占一行,包含两个火星正整数A和B,火星整数的相邻两位数用逗号分隔,A和B之间有一个空格间隔。当A或B为0时输入结束,相应的结果不要输出。
-
输出:
-
对每个测试用例输出1行,即火星表示法的A+B的值。
-
样例输入:
-
1,0 2,1
4,2,0 1,2,0
1 10,6,4,2,1
0 0
-
样例输出:
-
1,0,1
1,1,1,0
1,0,0,0,0,0
-
来源:
-
2006年浙江大学计算机及软件工程研究生机试真题
解题思路:
刚开始下手感觉有点类似于大数加法·····把两个数整理下然后逆置(逆置后方便进位),它和大数加法的不同之处是,大数加法满十进一,但它的每位根据对应的素数而定,满该位素数进一
写的微暴力······WA了几次后····左改右改·····左添右添·····就AC了······
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
题目链接:http://ac.jobdu.com/problem.php?pid=1018
题目1018:统计同成绩学生人数
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:6006
解决:3245
-
题目描述:
-
读入N名学生的成绩,将获得某一给定分数的学生人数输出。
-
输入:
-
测试输入包含若干测试用例,每个测试用例的格式为
第1行:N
第2行:N名学生的成绩,相邻两数字用一个空格间隔。
第3行:给定分数
当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。
-
输出:
-
对每个测试用例,将获得给定分数的学生人数输出。
-
样例输入:
-
3
80 60 90
60
2
85 66
0
5
60 75 90 55 75
75
0
-
样例输出:
-
1
0
2
-
来源:
-
2006年浙江大学计算机及软件工程研究生机试真题
解题思路:
测服务器质量的······不解释·····
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
题目链接:http://ac.jobdu.com/problem.php?pid=1020
题目1020:最小长方形
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4986
解决:2385
-
题目描述:
-
给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在内。长方形框的边分别平行于x和y坐标轴,点落在边上也算是被框在内。
-
输入:
-
测试输入包含若干测试用例,每个测试用例由一系列坐标组成,每对坐标占一行,其中|x|和|y|小于 231;一对0 坐标标志着一个测试用例的结束。注意(0, 0)不作为任何一个测试用例里面的点。一个没有点的测试用例标志着整个输入的结束。
-
输出:
-
对每个测试用例,在1行内输出2对整数,其间用一个空格隔开。第1对整数是长方形框左下角的坐标,第2对整数是长方形框右上角的坐标。
-
样例输入:
-
12 56
23 56
13 10
0 0
12 34
0 0
0 0
-
样例输出:
-
12 10 23 56
12 34 12 34
-
来源:
-
2007年浙江大学计算机及软件工程研究生机试真题
解题思路:
求出min_x , min_y , max_x , max_y就AC了······
完整代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include