致初学者(三): HDU 2033~ 2043题解

孤人 提交于 2019-12-01 11:03:50

致初学者(三): HDU 2033~ 2043题解

      下面继续给出2904628156的AC程序,供大家参考。2033~2043这10道题就被归结为“ACM程序设计期末考试(2006/06/07) ”和“2005实验班短学期考试 ”。

HDU 2033:人见人爱A+B

      简单分支结构。

 View Code

HDU 2034:人见人爱A-B

      设用数组a,b,c分别表示集合A,B,C,其中 C=A-B。
      用循环 for (i=0;i<n;i++) 处理集合A中的每个元素a[i],对于元素a[i] 用循环 for (j=0;j<m;j++) 在集合B中查找a[i]是否在集合B中存在,如果a[i]不在集合B中出现,则将a[i]保存到数组c中,作为集合C的一个元素。
      得到数组c后,输出前采用冒泡排序按从小到大的顺序对数组c进行排序。 

 View Code

HDU 2035:人见人爱A^B

      采用快速幂运算完成A^B的计算。

 View Code

HDU 2036:改革春风吹满地

       利用向量积(叉积)计算多边形的面积公式为:

             

 

       对于此公式推导过程有兴趣的同学可以参阅网上的一篇博文“利用向量积(叉积)计算三角形的面积和多边形的面积”。 

 View Code

HDU 2037:今年暑假不AC

      定义一个结构体
      struct showtime
      {
           int begin;
           int end;
      }; 
用于保存电视节目的开始时间和结束时间。定义结构体数组show[101]保存输入的电视节目情况。
      采用贪心法求解。将电视节目(即结构体数组show)按结束时间从小到大排列(若结束时间系统,则按开始时间从大到小)。
      先设lastend=show[0].end,因为第1个元素的结束时间一定是最早的,然后从左到右遍历数组各元素,若当前元素的开始时间大于lastend,则可以看一个完整节目,计数,同时修改lastend使之等于当前元素的结束时间。直到数组全部元素遍历完。

 View Code

HDU 2039:三角形

      简单分支结构。输入三角形三条边后,若满足任意两边的和大于第3条边,则可以构成一个三角形。

 View Code

HDU 2040:亲和数

      抽象一个函数 int calcSum(int n)用于计算整数n的所有真因子之和。

 View Code

HDU 2041:超级楼梯

      设 f[i]表示上到第i级楼梯的方法数。显然上到第i级,可以在第i-1级楼梯跨1级到达;或者在第i-2级楼梯跨2级到达。
      故有 f[i]=f[i-1]+f[i-2]。

 View Code

HDU 2042:不容易系列之二

      简单迭代处理。迭代初值num=3,迭代式为: num=2*(num-1); 。

 View Code

HDU 2043:密码

      简单字符串处理。

      下面继续给出2904628156的AC程序,供大家参考。2033~2043这10道题就被归结为“ACM程序设计期末考试(2006/06/07) ”和“2005实验班短学期考试 ”。

HDU 2033:人见人爱A+B

      简单分支结构。

 View Code

HDU 2034:人见人爱A-B

      设用数组a,b,c分别表示集合A,B,C,其中 C=A-B。
      用循环 for (i=0;i<n;i++) 处理集合A中的每个元素a[i],对于元素a[i] 用循环 for (j=0;j<m;j++) 在集合B中查找a[i]是否在集合B中存在,如果a[i]不在集合B中出现,则将a[i]保存到数组c中,作为集合C的一个元素。
      得到数组c后,输出前采用冒泡排序按从小到大的顺序对数组c进行排序。 

 View Code

HDU 2035:人见人爱A^B

      采用快速幂运算完成A^B的计算。

 View Code

HDU 2036:改革春风吹满地

       利用向量积(叉积)计算多边形的面积公式为:

             

 

       对于此公式推导过程有兴趣的同学可以参阅网上的一篇博文“利用向量积(叉积)计算三角形的面积和多边形的面积”。 

 View Code

HDU 2037:今年暑假不AC

      定义一个结构体
      struct showtime
      {
           int begin;
           int end;
      }; 
用于保存电视节目的开始时间和结束时间。定义结构体数组show[101]保存输入的电视节目情况。
      采用贪心法求解。将电视节目(即结构体数组show)按结束时间从小到大排列(若结束时间系统,则按开始时间从大到小)。
      先设lastend=show[0].end,因为第1个元素的结束时间一定是最早的,然后从左到右遍历数组各元素,若当前元素的开始时间大于lastend,则可以看一个完整节目,计数,同时修改lastend使之等于当前元素的结束时间。直到数组全部元素遍历完。

 View Code

HDU 2039:三角形

      简单分支结构。输入三角形三条边后,若满足任意两边的和大于第3条边,则可以构成一个三角形。

 View Code

HDU 2040:亲和数

      抽象一个函数 int calcSum(int n)用于计算整数n的所有真因子之和。

 View Code

HDU 2041:超级楼梯

      设 f[i]表示上到第i级楼梯的方法数。显然上到第i级,可以在第i-1级楼梯跨1级到达;或者在第i-2级楼梯跨2级到达。
      故有 f[i]=f[i-1]+f[i-2]。

 View Code

HDU 2042:不容易系列之二

      简单迭代处理。迭代初值num=3,迭代式为: num=2*(num-1); 。

 View Code

HDU 2043:密码

      简单字符串处理。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!