01 入门训练
nustart0720
千里之行,始于足下
展开
-
1006. Sign In and Sign Out (25)
1. 原题链接1006. Sign In and Sign Out (25)2. 理解题目输入不超过15位的id_number、进入时间、出去时间;求出最早进入和最晚出去的id_number;3. 解题思路[思路1]可以直接用char 数组存储进入和出去的时间,然后通过strcmp就可以比较时间早/晚;通过strcpy函数 将符合的id_number进行拷贝存储;[思路2]可以用C++中的stri原创 2017-10-27 09:13:52 · 167 阅读 · 0 评论 -
1007. Maximum Subsequence Sum (25)
1. 原题链接1007. Maximum Subsequence Sum (25)2. 理解题目给一个K个数字的数列,输出最大连续子序列和,首元素和尾元素;如果该数列都是负数,输出0以及整个数列的首、尾元素;3. 解题思路作为算法入门的例题,我们知道求最大连续子序列和的方法有4种(可以参见刘汝佳紫书–P220-224),本题经测试在O(N2N^2)复杂度下仍可以通过; 下面就采用O(N2N^2)和原创 2017-10-27 09:16:57 · 157 阅读 · 0 评论 -
1008. Elevator (20)
1. 原题链接1008. Elevator (20)2. 理解题目电梯开始在0层,依次给出将要到达的层,根据计分规则求出最后的时间;3. 解题思路比较简单,不多说。4. AC代码#include<cstdio> const int maxn=110;int n,a[maxn]; int ans=0; int main(){ scanf("%d",&n); a[0]=0; fo原创 2017-10-27 09:18:24 · 156 阅读 · 0 评论 -
1009. Product of Polynomials (25)
1. 原题链接1009. Product of Polynomials (25)2. 理解题目给出两个多项式,输出乘积的结果;(给出的项按照exp递减的顺序,输出也要按照这个要求);3. 解题思路[思路]先用结构体数组来存储每一项的exp和coe,然后进行两层遍历,按照多项式乘积的规则,将结果的exp存储在double ans[]数组下标, coe结果存储在数组内容中;然后按照exp从大到小输出c原创 2017-10-27 09:20:01 · 192 阅读 · 0 评论 -
1001. A+B Format (20)
原题链接 题意理解 解题思路 思路1 思路2 AC代码1. 原题链接1001. A+B Format2. 题意理解给出数字a,b,求a+b并从右往左每3个数字用逗号隔开3. 解题思路[思路1]先求出数字c,如果是负数先输出-号并对c取负变正,然后不断求余并保存在一个新数组a中; 假设c=2378562,我们知道结果应该是 2,378,562,对应a[ ]内容如下: a[0] a[1] a[原创 2017-10-25 14:00:57 · 155 阅读 · 0 评论 -
1002. A+B for Polynomials (25)
1. 原题链接1002. A+B for Polynomials (25)2. 理解题目通过指数(exp)和系数(coe)的形式输入两个多项式中系数不为0的项,且按照指数递减的顺序输入,求相加后的结果(也按照指数递减的顺序输出)。 3. 解题思路[思路1]定义结构体数组来保存多项式,结构体中exp记录指数,coe记录系数;声明结构体数组变量a[],b[],ans[]分别保存输入的两个多项式和结果多项原创 2017-10-25 16:31:47 · 170 阅读 · 0 评论 -
1005. Spell It Right (20)
1. 原题链接1005. Spell It Right (20)2. 理解题目 输入一个小于1010010^{100}的非负整数,求出各位数字和,并用英文一次输出和的各位数字; 3. 解题思路[思路1]由于输入的数字范围太大,所以只能按照字符/字符串输入;为了方便求和,可以按照字符依次输入,然后求和; 为了方便输出对应的英文,所以可以先用一个char二维数组进行打表;将数字和对应的英文存储好;原创 2017-10-25 16:50:35 · 128 阅读 · 0 评论