codeup做题
天宝妈妈
努力学习编程,正在学习C/C++和Python。希望自己每天都有一点点进步。
展开
-
《算法笔记》4.4小节——算法初步->贪心 问题 B: 出租车费【C++】
某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公里数,请你计算坐出租车的最小花费。原创 2022-11-22 12:00:19 · 382 阅读 · 0 评论 -
《算法笔记》4.4小节——算法初步->贪心 问题 A: 看电视【C++】
接下来n行,每行输入两个整数si和ei(1原创 2022-11-21 13:25:53 · 298 阅读 · 0 评论 -
《算法笔记》4.3小节——算法初步->递归 问题 D: 八皇后
对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数b(1原创 2022-11-06 11:42:13 · 63 阅读 · 0 评论 -
《算法笔记》4.3小节——算法初步->递归 问题 C: 神奇的口袋【C语言】
有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入的第一行是正整数n (1原创 2022-11-05 21:16:39 · 101 阅读 · 0 评论 -
《算法笔记》4.3小节——算法初步->递归 问题 B: 数列
编写一个求斐波那契数列的递归函数,输入n 值,使用该递归函数,输出如下图形(参见样例)。原创 2022-11-04 17:59:35 · 51 阅读 · 0 评论 -
100000583 - 《算法笔记》4.3小节——算法初步->递归 问题 A: 吃糖果
名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=3种方案;如果N=4,则名名可以第1天吃1块,剩3块,也可以第1天吃2块,剩2块,共有3+2=5种方案。如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。如果N=1,则名名第1天就吃掉它,共有1种方案;原创 2022-11-04 14:32:09 · 72 阅读 · 0 评论 -
《算法笔记》4.2小节——算法初步->哈希 问题 D: String Subtraction (20)【C语言】
【代码】《算法笔记》4.2小节——算法初步->哈希 问题 D: String Subtraction (20)【C语言】原创 2022-10-25 21:53:43 · 299 阅读 · 0 评论 -
《算法笔记》4.2小节——算法初步->哈希 问题 C: Be Unique (20)【C语言】
Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1, 104]. The first one who bets on a unique number wins.原创 2022-10-24 16:31:24 · 100 阅读 · 0 评论 -
《算法笔记》4.2小节——算法初步->哈希 问题 B: 分组统计
先输入一组数,然后输入其分组,按照分组统计出现次数并输出,参见样例。原创 2022-10-24 14:24:25 · 72 阅读 · 0 评论 -
《算法笔记》4.2小节——算法初步->哈希 问题 A: 谁是你的潜在朋友【C语言】
《算法笔记》4.2小节——算法初步->哈希 问题 A: 谁是你的潜在朋友。 “臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会 并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。 首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。原创 2022-10-24 00:43:05 · 75 阅读 · 0 评论 -
《算法笔记》3.2小节——入门模拟->查找元素 问题 E: 学生查询 输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。
题目描述输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。输入测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。输出输出m行,每行表示查询的学生信息,格式参见样例。样例输入 Copy141 李江 男 212 刘唐 男 233 张军 男 194 王娜 女 192样例输出 Copy2 刘唐 男 23原创 2021-02-08 11:36:46 · 1013 阅读 · 0 评论 -
问题 E: Shortest Distance (20)
题目描述The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits.输入Each input file contains one test case. For each case, the first line contains an integer N原创 2021-02-04 15:49:50 · 75 阅读 · 0 评论 -
问题 A: 统计同成绩学生人数 读入N名学生的成绩,将获得某一给定分数的学生人数输出。
题目描述读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。输出对每个测试用例,将获得给定分数的学生人数输出。样例输入 Copy470 80 90 10080365 75 8555560 90 90 90 85900样例输出 Copy103代码原创 2021-02-07 14:48:13 · 2019 阅读 · 0 评论 -
问题 G: 数字分类 (20)
题目描述给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4…;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。数字间以空格分隔。输出对给定的N个正整原创 2021-02-05 21:50:03 · 90 阅读 · 0 评论 -
问题 F: A+B和C (15) 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。
题目描述给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。输入输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。样例输入 Copy41 2 32 3 42147483647 0 21474836460 -2147483原创 2021-02-04 17:02:32 · 417 阅读 · 0 评论 -
问题 D: 比较奇偶数个数 第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。
题目描述第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。输入输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000)。输出如果偶数比奇数多,输出NO,否则输出YES。样例输入 Copy16770 69 24 78 58 62 64样例输出 CopyYESNO代码初出茅庐,请多指教!#include<stdio.h>int main(){ int n,i,ou,ji,j; int a[原创 2021-02-03 15:05:16 · 2232 阅读 · 0 评论 -
《算法笔记》3.4小节——入门模拟->日期处理 问题 A: 日期差值
题目描述有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出每组数据输出一行,即日期差值样例输入 Copy2013010120130105样例输出 Copy5代码初出茅庐,请多指教!在这里#include<stdio.h> int month[13][2]={{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30原创 2021-02-17 20:59:41 · 112 阅读 · 0 评论 -
《算法笔记》3.5小节——入门模拟->进制转换 问题 A: 又一版 A+B
题目描述输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。输入输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。当m为0时输入结束。输出输出格式:每个测试用例的输出占一行,输出A+B的m进制数。样例输入 Copy2 4 58 123 4560样例输出 Copy10011103提示注意输入的两个数相加后的结果可能会超过int和long的范围。代码初出茅庐,请多指教!#i原创 2021-02-19 16:16:40 · 104 阅读 · 0 评论 -
《算法笔记》3.4小节——入门模拟->日期处理 问题 D: 日期类
问题 D: 日期类时间限制 : 1.000 sec 内存限制 : 32 MB题目描述编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。输入输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。输出输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。样例输入 Copy21999 10 202001 1 31样例输出 Copy1999-10-212001-02-01提示注意个位数原创 2021-02-18 21:15:07 · 80 阅读 · 0 评论 -
《算法笔记》3.4小节——入门模拟->日期处理 问题 C: 打印日期
问题 C: 打印日期时间限制 : 1.000 sec 内存限制 : 32 MB题目描述给出年分m和一年中的第n天,算出第n天是几月几号。输入输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。样例输入 Copy2013 602012 3002011 3502000 211样例输出 Copy2013-03-012012-10-262011-原创 2021-02-18 20:30:51 · 90 阅读 · 0 评论 -
问题 C: 查找学生信息 输入N个学生的信息,然后进行查询。
题目描述输入N个学生的信息,然后进行查询。输入输入的第一行为N,即学生的个数(N<=1000)接下来的N行包括N个学生的信息,信息格式如下:01 李江 男 2102 刘唐 男 2303 张军 男 1904 王娜 女 19然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:02030104输出输出M行,每行包括一个对应于查询的学生的信息。如果没有对应的学生信息,则输出“No Answer!”样例输入 Copy5001原创 2021-02-07 20:48:38 · 1831 阅读 · 3 评论 -
《算法笔记》3.3小节——入门模拟->图形输出 问题 C: 等腰梯形
题目描述请输入高度h,输出一个高为h,上底边长为h 的等腰梯形(例如h=4,图形如下)。输入输入第一行表示样例数m,接下来m行每行一个整数h,h不超过10。输出对应于m个case输出要求的等腰梯形。样例输入 Copy14样例输出 Copy代码初出茅庐,请多指教!#include<stdio.h>#include<string.h>int main(){ int m,i,j,k; int h[1000]; scanf("%d",&m);原创 2021-02-08 16:30:46 · 112 阅读 · 0 评论 -
《算法笔记》3.4小节——入门模拟->日期处理 问题 B: Day of Week
题目描述We now use the Gregorian style of dating in Russia. The leap years are years with number divisible by 4 but not divisible by 100, or divisible by 400.For example, years 2004, 2180 and 2400 are leap. Years 2004, 2181 and 2300 are not leap.Your task i原创 2021-02-18 16:48:37 · 183 阅读 · 0 评论 -
问题 B: 找x 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。
题目描述输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出对于每组输入,请输出结果。样例输入 Copy41 2 3 43样例输出 Copy2代码初出茅庐,请多指教!#include<stdio.h>const int maxn=200;int main(){ int n,x,i; int r[ma原创 2021-02-07 15:55:31 · 495 阅读 · 0 评论 -
《算法笔记》3.3小节——入门模拟->图形输出 问题 B: Hello World for U
题目描述Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, “helloworld” can be printed as:h de ll rlowoThat is, the characters must be printed in the original order, starting top-down f原创 2021-02-08 15:43:52 · 116 阅读 · 0 评论 -
《算法笔记》3.3小节——入门模拟->图形输出 问题 A: 输出梯形 输入一个高度h,输出一个高为h,上底边为h的梯形。
题目描述输入一个高度h,输出一个高为h,上底边为h的梯形。输入一个整数h(1<=h<=1000)。输出h所对应的梯形。样例输入 Copy5样例输出 Copy ***** ******* ********* *********** *************代码初出茅庐,请多指教!#include<stdio.h>int main(){ int h,i,j; while(scanf("%d",&h)!原创 2021-02-08 14:28:54 · 235 阅读 · 0 评论 -
问题 H: 部分A+B (15) 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。
题目描述正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。输出在一行中输出PA + PB的值。样例输入 Copy3862767 6 13530293 33862767 1 13530293 8样例输出 Copy原创 2021-02-05 23:39:02 · 1257 阅读 · 0 评论 -
《算法笔记》3.3小节——入门模拟->图形输出 问题 D: 沙漏图形 tri2str [1*+]
题目描述问题:输入n,输出正倒n层星号三角形。首行顶格,星号间有一空格,效果见样例输入样例:3输出样例:数据规模 1<= n <=50代码初出茅庐,请多指教!#include<stdio.h>int main(){ int n,i,j; scanf("%d",&n); if(n<1||n>50){ printf("n error!\n"); return 0; } for(i=0;i<n;i++){ for(j=0原创 2021-02-08 17:05:25 · 123 阅读 · 0 评论 -
《算法笔记》3.2小节——入门模拟->查找元素 问题 D: 查找
题目描述输入数组长度 n输入数组 a[1…n]输入查找个数m输入查找数字b[1…m]输出 YES or NO 查找有则YES 否则NO 。输入输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。输出如果在n个数组中输出YES否则输出NO。样例输入 Copy63 2 5 4 7 823 6样例输出 CopyYESNO代码初出茅庐,请多指教!#include<stdio.h>原创 2021-02-07 23:22:00 · 140 阅读 · 0 评论 -
问题 I: 锤子剪刀布 (20)
题目描述大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲原创 2021-02-07 13:49:53 · 130 阅读 · 1 评论 -
问题 B: A+B 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号“,“隔开。 现在请计算A+B的结果,并以正常形式输出。
问题 B: A+B题目描述输入输出样例输入 Copy样例输出 Copy代码题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。输入输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出请计算A+B的结果,并以正常形式输出,每组数据占一行。样例输入 Copy-234,567,890 123,456,7891,234 2,345,678样例输出 Copy-1原创 2021-02-02 14:36:01 · 505 阅读 · 0 评论 -
问题 C: 特殊乘法 写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5
题目描述写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35输入两个小于1000000000的数输出输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。样例输入 Copy24 6542 666663 67样例输出 Copy6618039代码初出茅庐,请多指教!```c#include<stdio.h>int main(){ ch原创 2021-02-03 13:11:56 · 282 阅读 · 1 评论 -
《算法笔记》4.1小节——算法初步->排序 问题 E: Problem B
题目描述请写一个程序,对于一个m行m列的(1<m<10)的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。输入共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。输出从大到小排列的一行整数,每个整数后跟一个空格,最后换行。样例输入 Copy415 8 -2 631 24 18 71-3 -9 27 1317 21 38 69样例输出 Copy159 145 144 135 81 60 44 32 28 27原创 2021-03-31 17:19:33 · 61 阅读 · 0 评论 -
《算法笔记》4.1小节——算法初步->排序 问题 A: 排序
题目描述对输入的n个数进行排序并输出。输入输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。输出可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。每组测试数据的结果占一行。样例输入 Copy55 4 3 1 2样例输出 Copy1 2 3 4 5代码初出茅庐,请多指教!#include<stdio.h>void insertSort(int a[],int n){ int i,j,k,tem原创 2021-03-15 10:18:49 · 118 阅读 · 0 评论 -
《算法笔记》3.6小节——入门模拟->字符串处理 问题 A: 字符串连接
题目描述不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。输入每一行包括两个字符串,长度不超过100。输出可能有多组测试数据,对于每组数据,不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。输出连接后的字符串。样例输入 Copyabc def样例输出 Copyabcdef代码初出茅庐,请多指教!#include<stdio.h> int main(){ char a[100],b[100],c[200];原创 2021-02-25 16:55:21 · 86 阅读 · 3 评论 -
《算法笔记》4.1小节——算法初步->排序 问题 D: 字符串内排序
题目描述输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串。输入测试数据有多组,输入字符串。输出对于每组输入,输出处理后的结果。样例输入 Copytianqin样例输出 Copyaiinnqt提示注意输入的字符串中可能有空格。代码初出茅庐,请多指教!#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;bool cm原创 2021-03-31 15:54:19 · 64 阅读 · 0 评论 -
《算法笔记》4.1小节——算法初步->排序 问题 G: 中位数
题目描述中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数).给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)输入该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1<=N<=10000.接着N行为N个数据的输入,N=0时结束输入输出输出中位数,每一组测试数据输出一行样例输入 Copy14681550117072547935996346570原创 2021-04-02 17:04:16 · 90 阅读 · 0 评论 -
《算法笔记》3.6小节——入门模拟->字符串处理 问题 I: 【字符串】回文串
题目描述读入一串字符,判断是否是回文串。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。输入一行字符串,长度不超过255。输出如果是回文串,输出“YES”,否则输出“NO”。样例输入 Copy12321样例输出 CopyYES代码初出茅庐,请多指教!#include<stdio.h> #include<string.h>int main(){ char ans[260]; gets(ans); int i原创 2021-03-11 16:16:43 · 61 阅读 · 0 评论 -
求助!提示“运行错误0” 《算法笔记》3.6小节——入门模拟->字符串处理 问题 D: 单词替换
题目描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入多组数据。每组数据输入包括3行,第1行是包含多个单词的字符串 s,第2行是待替换的单词a,(长度<=100)第3行是a将被替换的单词b。(长度<=100)s, a, b 最前面和最后面都没有空格。输出每个测试数据输出只有 1 行,将s中所有单词a替换成b之后的字符串。样例输原创 2021-03-08 16:38:58 · 220 阅读 · 0 评论 -
《算法笔记》3.6小节——入门模拟->字符串处理 问题 B: 首字母大写
题目描述对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(’\t’)、回车符(’\r’)、换行符(’\n’)。输入输入一行:待处理的字符串(长度小于100)。输出可能有多组测试数据,对于每组数据,输出一行:转换后的字符串。样例输入 Copyif so, you already have a google account. you can sign in on the right.样原创 2021-03-02 12:24:59 · 132 阅读 · 0 评论