HDU题解
关于杭州电子科技大学OJ题解
m0_38056893
没怎么在用了,评论可能没回复
展开
-
关于已解决HDU题解链接
HDU2015 求偶数和HDU1040 As Easy As A+BHDU1062 Text ReverseHDU1094 A+B for Input-Output Practice (VI)HDU1228 A+BHDU1720 A+B ComingHDU1870 愚人节的礼物HDU1877 又一版A+BHDU2008 数值统计HDU2009 求数列的和HDU2010 水仙花数HDU2011 多项...原创 2018-04-09 22:31:12 · 363 阅读 · 0 评论 -
HDU2029 Palindromes _easy version【入门】
【题目】【思路】将读入的字符串进行截取,从正向第一个字符和倒数第一个字符开始比较,若有一个不想等则不是回文串。【代码】AC的C++代码如下:#include <iostream>#include <string>using namespace std;int main(){ int n; string s; cin >> n; ...原创 2018-04-28 16:07:42 · 245 阅读 · 0 评论 -
HDU2030 汉字统计
【题目】【思路】汉字机内码使用二个字节,汉字的每个字节都是<0的,即其每个字节最高位一位为1。【代码】AC的C++代码如下:#include <iostream>#include <string.h>using namespace std;int main(){ int n; char s[1024]; cin >> n;...原创 2018-04-25 21:24:52 · 268 阅读 · 0 评论 -
HDU2025 查找最大元素
【题目】【思路】用字符数组读取字符串,设置一个max用于记录最大字母,初始化为'\0'。然后遍历字符串,在输出最大字母后面插入(max)。【代码】AC的C++代码如下:#include #include using namespace std;char s[1000];int main(){ while (cin >> s) { cha原创 2018-04-23 19:39:31 · 299 阅读 · 0 评论 -
HDU2032 杨辉三角
【题目】【思路】【代码】AC的C++代码如下:#include using namespace std;#define N 31int x[N][N];void printTri(int n){ for (int i = 0;i < n;i++) { x[i][0] = x[i][i] = 1; } for (int原创 2018-04-23 19:20:05 · 247 阅读 · 0 评论 -
HDU2028 Lowest Common Multiple Plus
【题目】【思路】将第一个传进来的数作为最大公约数,然后每传进一个数就和第一个数计算出最小公倍数并作为第一个数。【代码】AC的C++代码如下:#include using namespace std;int gcd(int m,int n){ if (m < n) { int tmp = m; m = n; n原创 2018-04-22 12:16:03 · 227 阅读 · 0 评论 -
HDU2027 统计元音
【题目】【思路】【代码】AC的C++代码如下:#include #include #include using namespace std;int main(){ int n,i,j; char vowel[] = "aeiou"; int count[5]; char s[101]; cin >> n; getchar原创 2018-04-21 18:28:29 · 238 阅读 · 0 评论 -
HDU2026 首字母变大写
【题目】【思路】利用getline(cin,s)截取整行字符串,首先通过对首个字母的判断,若是小写则转换;然后遍历后续字符,当前一个字符是空格且该字符是小写时候进行大小写的转换即可。【代码】AC的C++代码如下:#include #include #include using namespace std;int main(){ string s;原创 2018-04-21 16:56:12 · 269 阅读 · 0 评论 -
HDU2051 Bitset
【题目】【思路】使用栈实现十进制到二进制的转换即可。【代码】AC的C++代码如下:#include #include using namespace std;void changeToTwo(int n){ stack s; while (n != 0) { s.push(n % 2); n = n / 2;原创 2018-04-10 18:22:15 · 196 阅读 · 0 评论 -
HDU1228 A+B
HDU1228 A+B1.题目【分析】使用map<string,int>存放单词与对应的数字,给"+"和"="赋予其他整形常量,以便进行判断。AC的C++代码如下:#include <iostream>#include <map>#include <string>#include <string.h>#include &a原创 2018-03-22 14:50:03 · 318 阅读 · 0 评论 -
HDU1062 Text Reverse
HDU1062 Text Reverse【题目】【分析】根据栈后进先出的特点可以逆序输出一行文本:依次读取每个输入的字符的值,若是结尾符或是空格或是换行符则弹出栈里的元素;否则将字符元素入栈。当接收的字符元素为结尾符或换行符号时候退出当前行对字符的读取。AC的C++代码如下:#include <iostream>#include <stack>using namespa...原创 2018-03-22 15:30:42 · 162 阅读 · 0 评论 -
HDU1870 愚人节的礼物
【题目】【分析】本题较为简单,设置一个计数器,当接收的字符为"("时候自增,为")"时自减,为B时候退出循环。AC的C++代码如下:#include <iostream>#include <string>using namespace std;int main(){ string s; int count; while (getline(c...原创 2018-03-24 22:24:15 · 446 阅读 · 0 评论 -
HDU3782 xxx定律
【题目】AC的C++代码如下:#include <iostream>using namespace std;int main(){ int n; int count; while (scanf("%d",&n) != EOF && n != 0) { count = 0; while (n !...原创 2018-03-24 22:49:37 · 290 阅读 · 0 评论 -
HDU1040 As Easy As A+B
【题目】【分析】使用算法库中的sort()函数。AC的C++代码如下:#include <iostream>#include <algorithm>using namespace std;int main(){ int n,m; cin >> n; for (int i = 0;i < n;i++) { ...原创 2018-03-24 23:01:03 · 292 阅读 · 0 评论 -
HDU2629 Identity Card
【题目】【分析】根据身份证号码前两位对应的数字得出所在省,可以通过STL的map<int,string>存放,然后出生日期可以通过对字符串的截取获得。因为之前月份和日期使用截取后十位数乘以10加上个位数没有通过,可能是日期或月份没有使用dd/mm的格式把@_@。所以最后通过直接输出字符的方式便通过了测试。【代码】AC的C++代码如下:#include <iostream>...原创 2018-03-25 09:49:58 · 1788 阅读 · 0 评论 -
HDU2008 数值统计
【题目】【思路】分别设置3个计数器计算正数负数和零的个数,注意题目要求输入的n为0表示输入结束。【代码】AC的C++代码如下:#include <iostream>using namespace std;int main(){ int n; double x; int c1,c2,c3; while (cin >> n && n != 0) ...原创 2018-03-26 15:02:41 · 227 阅读 · 0 评论 -
HDU2010 水仙花数
【题目】【思路】先设定一个计数器用于计算水仙花数数量,当为第一个水仙花数时候只输出这个数,其余的格式为先输出空格再输出这个水仙花数。当计数器为0时候输出"no"。【代码】AC的C++代码如下:#include using namespace std;int main(){ int m,n; int count; while (cin >> m >> n) { co原创 2018-03-26 15:16:44 · 223 阅读 · 0 评论 -
HDU2012 素数判定
【问题】【思路】通过宏定义定义函数f(n) = n^2 + n + 41,在给定范围判定素数,当循环变量超过范围的上界时表示都为素数,否则不是。【代码】AC的C++代码如下:#include #include using namespace std;#define fun(n) n*n + n + 41bool isPrime(int n){ if (n <原创 2018-03-26 16:31:27 · 413 阅读 · 0 评论 -
HDU2009 求数列的和
【题目】【代码】AC的C++代码如下:#include #include using namespace std;int main(){ int n,m; double x,sum; while (cin >> n >> m) { sum = 0.0; x = n; for (int i = 0;i原创 2018-03-26 21:48:53 · 193 阅读 · 0 评论 -
HDU2014 青年歌手大奖赛_评委会打分
【题目】【思路】将输入的成绩保存在数组中,用max,min变量保存最大最小值,maxIndex,minIndex变量用于存放最大值最小值的索引,计算总和时候除去这两个索引的数组元素即可。【代码】AC的C++代码如下:#include #include #include using namespace std;int a[101];int main(){ in原创 2018-03-26 22:01:46 · 551 阅读 · 0 评论 -
HDU2013 蟠桃记
【题目】【思路】每天吃掉前一天剩下的一半多一个,反过来考虑:后一天的桃子数目是前一天多一个再乘以两倍。即可得出以下递推式:f(n)= 2* (f(n-1)+ 1)。【代码】AC的C++代码如下:#include using namespace std;int main(){ int n; while (cin >> n) {原创 2018-03-27 12:53:03 · 390 阅读 · 0 评论 -
HDU2011 多项式求和
【题目】【思路】根据循环的数分为奇数和偶数两种情况判断,奇数用加法,偶数用减法。【代码】AC的C++代码如下:#include using namespace std;int main(){ int m,n; double sum; cin >> m; for (int j = 0;j < m;j++) { cin原创 2018-03-27 12:55:56 · 301 阅读 · 0 评论 -
HDU2015 求偶数和
【题目】【分析】该数列为首项为2,公差为2的等差数列,可用循环变量i(初值为2)作为第i项的值,累加到累加器sum中。并设置一个计数器j计算累加的次数,当累加次数是m的整数倍时候除以m然后进行输出;若i已经是最后一项且刚好不是最后一组的第m个元素,则将这些元素和除以实际的元素个数求得平均值。【代码】AC的C++代码如下:#include #include using nam原创 2018-03-28 16:59:35 · 684 阅读 · 0 评论 -
HDU1720 A+B Coming
【题目】【思路】本来写了一个函数实现16进制到10进制数的转换没有成功,最后查资料发现C/C++中能控制输入输出的进制类型。【代码】AC的C语言代码如下:#include int main(){ int a, b; while(scanf("%x%x", &a, &b) != EOF) { //设置输入的格式为十六进制 printf("%原创 2018-03-29 18:52:03 · 354 阅读 · 0 评论 -
HDU2033 人见人爱A+B
【题目】【思路】设置三个变量ch,cm,cs分别用于计算要输出的时分秒,分别判断加完后的秒钟和分钟是否大于60进行取模和进位。【代码】AC的C++代码如下:#include using namespace std;char chs[21][21];int main(){ int n; int ah,am,as; int bh,bm,bs;原创 2018-03-30 14:55:31 · 303 阅读 · 0 评论 -
HDU1877 又一版A+B
【题目】【思路】使用堆栈实现N【代码】AC的C++代码如下:#include #include using namespace std;typedef unsigned long long ULL;void changeToD(ULL num,int m){ stack s; while (num) { s.push(num %原创 2018-03-30 15:00:56 · 222 阅读 · 0 评论 -
HDU2020 绝对值排序
【题目】【思路】由于不是仅仅将最大值或者最小值放最前面,而是得在数组内对所有元素进行比较后排序,便可通过对冒泡排序中比较相邻数大小的条件进行修改,改成比较相邻数绝对值的大小,并按从大到小排列即可。【代码】AC的C++代码如下:#include #include using namespace std;void myBubbleSort(int a[],int n){原创 2018-04-04 16:06:22 · 301 阅读 · 0 评论 -
HDU2018 母牛的故事
【题目】【思路】将前几天母牛的总数列出(如下图),观察规律。得出规律:第四天开始,母牛数目等于前一天数目加上前三天的数目。 天数1234567母牛数12346913原创 2018-04-04 16:13:37 · 197 阅读 · 0 评论 -
HDU1094 A+B for Input-Output Practice (VI)
【题目】【代码】AC的C++代码如下:#include <iostream>using namespace std;int main(){ int n; int x,sum; while (cin >> n && n != 0) { sum = 0; while (n--) { cin >> x; sum +...原创 2018-04-04 16:16:01 · 324 阅读 · 0 评论 -
HDU2016 数据的交换输出
【题目】【思路】编写一个函数用于获取数组中最小元素的索引,然后输入数组后将最小元素索引位置的元素与第1个元素对换。【代码】AC的C++代码如下:#include using namespace std;int getMinIndex(int a[],int n){ int index = 0; int min = a[0]; for (int i =原创 2018-04-04 16:24:05 · 179 阅读 · 0 评论 -
HDU2017 字符串统计
【题目】【思路】通过cin读取整行字符串,通过isdigit(int c)函数对每一个字符进行判断。【代码】AC的C++代码如下:#include using namespace std;int main(){ int n; string s; int count; cin >> n; while (n--) {原创 2018-04-04 16:38:12 · 328 阅读 · 0 评论 -
HDU2019 数列有序!
【题目】【思路】先判断要插入的序列是否又元素,没有的话将m直接输出即可;否则,将m与序列第一个元素进行比较,若小于则将m作为第一个元素,其他元素都向后移;若大于则依次比较,大于某个元素则将某个元素的索引值赋给index作为m最后的索引,并将数组第index个元素到最后一个元素都向后移即可。【代码】AC的C++代码如下:#include <iostream>using namespac...原创 2018-04-07 17:27:34 · 473 阅读 · 0 评论 -
HDU2021 发工资咯:)
【题目】【思路】类似于贪心算法,将纸币值在数组中降序排列,每次选择最大的尝试,每尝试一次就将薪水对取的纸币取余,直到刚好整除为主,该算法在代码中封装成了一个函数getCount()。【代码】AC的C++代码如下:#include using namespace std;int money[6] = {100,50,10,5,2,1};int getCount(int mo原创 2018-04-07 17:12:13 · 254 阅读 · 0 评论