hdoj
52Tiramisu
这个作者很懒,什么都没留下…
展开
-
递推
如果要求出 dp[i][j],那么一定要先求出它的两个子问题:①从位置(i+1, j) 到达最底层的最大和 dp[i+1][j];②从位置(i+1, j+1) 到达最底层的最大和 dp[i+1][j+1]。状态转移方程把状态 dp[i][j] 转移为dp[i+1][j] 和dp[i+1][j+1]边界:最后一层的dp值总是等于元素本身。从这些边界出发,通过状态转移方程扩散到整个 dp数组。数塔问题// 03.16 10:00-12:00#inclu...原创 2021-03-16 11:56:43 · 75 阅读 · 0 评论 -
hdoj 2044 一只小蜜蜂
// 03.16 10:00#include <cstdio>int main() { int i, j, n; __int64 d[51] = { 1, 1, 2, }; for (i = 3; i < 51; i++) { d[i] = d[i - 1] + d[i - 2]; } scanf("%d", &n); while (n-- && scanf("%d%d", &i, &j) != EOF) { print.原创 2021-03-16 10:11:06 · 98 阅读 · 0 评论 -
hdoj 2029 回文串
2007年笔试真题很简单,遍历比较即可。代码:// 3.15 11:45-11:50#include <cstdio>#include <cstring>bool judge(char str[]) { int len = strlen(str); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - 1 - i]) return false; } return true;原创 2021-03-15 11:54:05 · 74 阅读 · 0 评论 -
hdoj 2027 统计元音
思路:遍历字符串,判断,cnt计数,输出代码:#include <iostream>#include <cstring>#include <string>#include <algorithm>using namespace std;const int maxn = 101;char str[maxn];int main() { freopen("input.txt", "r", stdin); int n; scanf原创 2021-03-15 11:06:46 · 73 阅读 · 0 评论 -
hdoj 2026 首字母变大写
知识:Q:怎么循环输入一整行字符串?A:cin.getline 允许读取包含空格的字符串。它将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键Q:如何转换成大写A:用C语言头文件<ctype.h>下的toupper(char c)函数。思路:①特殊处理第一个字符;②依次遍历,如果当前字符是空格且 他后面一个是字母的话,就upper为大写。代码:// 03.15 10:26-10:56#include <cstdio>#include原创 2021-03-15 10:55:36 · 165 阅读 · 0 评论 -
hdoj 2025 查找最大元素
思路:输入字符串,遍历整个字符串找到最大的字母,这里不是记下最大的字母下标,而是记录最大的字母是谁,因为最大的字母下标可能有好几个,如果用数组存有些麻烦,直接记录最大字母是谁的话,在输出时对比,如果当前字母就是最大字母,那么就输出“(max)”。代码:#include <cstdio>#include <cstring>const int maxn = 110;char str[maxn];int main() { while (scanf("%s",原创 2021-03-15 10:26:43 · 99 阅读 · 0 评论 -
hdoj 2024 C语言合法标识符
C语言合法标识符可供使用的字符有 小写字母、大写字母、数字和下划线(_)。第一个字母必须是 字母 或 下划线。思路:写一个judge函数,用来判断每个字符串是否可以作为C语言标识符。①判断开头;②判断后面元素。代码:// 3.15 09:45-10:05#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>#include <cstdio>#include <string>#inc原创 2021-03-15 10:06:08 · 141 阅读 · 0 评论 -
hdoj 2023 求平均成绩
思路:设置学生结构体,存放学生每门课程成绩和平均成绩。设置课程数组,存放每个课程的总成绩代码:// 3.15 09:00#include <cstdio>const int maxn = 55;struct Student { double course[5]; double avg;}stu[maxn];int n, m;double course[5] = { 0.0 };int main() { //freopen("intput.txt", "r"原创 2021-03-15 09:26:16 · 133 阅读 · 0 评论 -
hdoj 2022 海选女主角
思路:结构体排序 sort函数,代码:// 3.15 08:40-09:00#include <cstdio>#include <algorithm>using namespace std;const int maxn = 101;int m, n;struct Node { int x, y, s; int data; // 绝对值}a[maxn];bool cmp(Node a, Node b) { if (a.data != b.data原创 2021-03-15 08:58:05 · 112 阅读 · 0 评论 -
hdoj 2021 发工资咯:)
思路:输入钱数之后,从面额的从大到小,依次判断,如果符合,就计数,并把它取余,进行下面一个数额的判断。代码:// 3.15 20:00-20:25#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 101;int a[maxn]; //存放老师工资int judge(int n) {int cnt = 0;原创 2021-03-15 08:26:19 · 93 阅读 · 0 评论 -
hdoj 2020 绝对值排序
// 03.15 07:40#include <cstdio>#include <math.h>#include <algorithm>using namespace std;const int maxn = 101;struct Node { int data; int A;}a[maxn];bool cmp(Node a, Node b) { return a.A > b.A;}int main() { int n; whi.原创 2021-03-15 07:52:59 · 124 阅读 · 0 评论 -
hdoj 2018 母牛的故事
写一下每年的母牛头数,找规律!1-[1]-12-[1][1]-23-[1][1][1]-34-[1][1][1][1]-45-[1][1][1][1][1][2]-66-[1][1][1][1][1][1][2][2][3]-97-[1][1][1][1][1][1][1][2][2][2][3][3][4]-13第四年=第三年+第一年第五年=第四年+第二年第六年=第五年+第三年第七年=第六年+第四年思路:先用打表的方法把每年的母牛头数算出来,类似于求斐波那契数列原创 2021-03-15 06:49:57 · 58 阅读 · 0 评论 -
hdoj 1002 A + B Problem II
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.给出两个正整数 A 和 B,计算 A+B的和。输入格式:The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lin原创 2021-03-04 10:14:03 · 108 阅读 · 1 评论 -
hdoj 2016 数据的交换输出
/** * 03.01 22:47 * **/#include <algorithm>#include <iostream>using namespace std;int main() { int n; scanf("%d", &n); do { // 录入数组 int num[110]; for (int i = 0; i < n; i++) { scan.原创 2021-03-01 22:58:58 · 69 阅读 · 0 评论 -
hdoj 2014 去掉一个最高分和一个最低分,然后计算平均得分
/** * 03.01 22:01 ***/#include <iostream>#include <algorithm>using namespace std;int main() { int n; int score[110]; while (scanf("%d", &n) != EOF) { int max = -1; int min = 101; int maxid, minid; for (int i = 0; i < .原创 2021-03-01 22:15:09 · 176 阅读 · 0 评论 -
hdoj 2013 蟠桃记
倒着退回去就行了/** * 03.01 21:57 * **/#include <iostream>#include <algorithm>using namespace std;int main() { int n; while(scanf("%d", &n) != EOF){ int begin = 1; for (int i = 0; i < n-1; i++){ be.原创 2021-03-01 22:01:10 · 90 阅读 · 0 评论 -
hdoj 2012 素数
素数判定代码模板:bool isPrime(int n){ if(n <= 1) return false; int sqr = (int)sqrt(1.0 * n); for(int i = 2; i <= sqr; i++){ if(n % i == 0) return false; } return true;} 代码/** * 03.01 21:32 * **/原创 2021-03-01 21:56:19 · 71 阅读 · 0 评论 -
hdoj 2011 多项式求和
/** * 03.01 21:13 * **/#include <algorithm>#include <iostream>using namespace std;int main() { int m, n; scanf("%d", &m); for (int j = 0; j < m; j++) { scanf("%d", &n); double sum = 0; for.原创 2021-03-01 21:23:12 · 96 阅读 · 0 评论 -
hdoj 2007 平方和与立方和
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。输入格式:输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。输出格式:对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。输入样例:1 32 5输出样例:4 2820 152坑点:忽略了可能a>b的情况代码/** * 02.27 23:08 * 给定一段连续的原创 2021-02-27 23:26:15 · 73 阅读 · 0 评论 -
hdoj 2005 第几天
给定一个日期,输出这个日期是该年的第几天。Input Specification:输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。Output Specification:对于每组输入数据,输出一行,表示该日期是该年的第几天。Sample Input:1985/1/202006/3/12Sample Output:2071思路:判断任意年份是否为闰年,需要满足以下条件原创 2021-02-27 23:03:43 · 79 阅读 · 0 评论 -
hdoj 2004 成绩转换
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input Specification:输入数据有多组,每组占一行,由一个整数组成。Output Specification:对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。Sample Input:5667100123Sample Output:ED原创 2021-02-27 22:41:05 · 87 阅读 · 0 评论 -
hdoj 2003 求绝对值
求实数的绝对值。Input Specification:输入数据有多组,每组占一行,每行包含一个实数。Output Specification:对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。Sample Input:123-234.00Sample Output:123.00234.00注意:不要忘了最后的回车\n代码:/** * 02.27 22:29 * **/#include <iostream>原创 2021-02-27 22:34:11 · 84 阅读 · 0 评论 -
hdoj 2002 计算球体积
根据输入的半径值,计算球的体积。Input Specification:输入数据有多组,每组占一行,每行包括一个实数,表示球的半径Output Specification:输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。Sample Input:11.5Sample Output:4.18914.137Hint#define PI 3.1415927...原创 2021-02-27 22:20:44 · 96 阅读 · 0 评论 -
hdoj 2001 计算两点间的距离
hdoj 2001 计算两点间的距离输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。Input Specification:输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开Output Specification:对于每组输入数据,输出一行,结果保留两位小数Sample Input:0 0 0 10 1 1 0Sample Output:1.001.41思路:勾股定理,用到math.h中的.原创 2021-02-27 22:18:52 · 77 阅读 · 0 评论 -
hdoj2000 ASCII码排序
2000 ASCII码排序输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。Input Specification:输入数据有多组,每组占一行,有三个字符组成,之间无空格。Output Specification:对于每组输入数据,输出一行,字符中间用一个空格分开。Sample Input:qweasdzxcSample Output:e q wa d sc x z思路交换三个数的大小:冒泡排序思想,第一趟:把最大的搬到最后面,.原创 2021-02-27 22:11:42 · 207 阅读 · 0 评论