华为2014编程大赛初赛

2024-08-22 08:48
文章标签 华为 编程 大赛 初赛 2014

本文主要是介绍华为2014编程大赛初赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意事项: 
1. 每道题最多只能提交5次; 
2. 程序从标准输入 stdin('Standard Input')获取输入,并将输出结果输出到标准输出stdout('Standard Output')。 3. 输入输出均不能含有任何提示信息; 4. 测试平台的编译内核为VS2005及JDK1.7 。使用Java答题时,类名必须为"Main",不要使用package关键字声明;使用C/C++答
用VS2005支持的数据类型和函数; 5. 代码中不允许有任何文件操作; 
6. 提交答案时请提交全部代码,包括main函数和所有子函数; 7. 答案提交后,点击状态可以查看判题结果及相应提示; 8. 信息注册环节不可跳过,否则无法导出成绩。 
外星人比数的大小 
描述: 
来自星星的都教授除了所有感官比地球人高出七倍,始终容颜不老以外,还拥有一项在地球人看来特别神奇的能力,他会瞬间(0.00000000001s以内)按照他的规则比较地球人熟悉的两个十进制数字的大小,他比较的规则如下:   
1、将要比较的两个数字分别转换成二进制数字;   
2、计算两个二进制数字中1的个数,个数多的数字为两者中的大者;   
3、负数按照其绝对值进行比较;   
请利用地球人发明的计算机程序逼近都教授的特异功能,实现时可以有以下约束:   
1、输入数据为范围在-32768到32768(地球人的十进制世界)之间的任意两个数字;   
2、如果经过比较后2个数相等,输出为0,如果不相等,输出最大值。如果输入非法,输出-1。   
运行时间限制: 无限制 内存限制: 无限制 
输入: 待比较的2个数。 
输出: 
按照比较原则,输出最大的值 
样例输入: 
-30 20 样例输出: -30 答案提示: 
  

#include <stdio.h>

 #include<math.h> 

void main() 

{

int erjinz(int a);

 int a,b,x,y,a1,b1; 

scanf("%d%d",&a,&b); 

if(a>32768||a<-32768||b>32768||b<-32768)

  printf("%d",-1);

 else

   { 

      a1=abs(a); 

      b1=abs(b);

      x=erjinz(a1);

      y=erjinz(b1); 

    if(x==y)  

      printf("%d",1); 

    else 

    printf("%d",(x>y)?a:b); 

    }

 }  


int erjinz(int a)

 { 

    int temp=0; 

   do { 

     temp=temp+a%2;

     a=a/2; }while(a!=0); 

     return(temp);

 } 

笨笨熊搬家打包篇 描述:  
森林里的笨笨熊今天可开心啦——他买了新房子,乔迁新喜要搬家了。因此,笨笨熊请了许多好朋友来帮忙搬家,并准备了很多小纸盒用来装需要搬的物品,不过,这些纸盒的容积都是相同的,并且最多只能装两个物品。但是,为了不打扰太多的朋友,笨笨熊想了个“聪明”办法:让每个纸盒使用效率最高(注:只要纸盒容积大于物品的体积之和就认为可以装下;物品体积不会大于纸盒容积),这样需要的纸盒最少。为了帮助笨笨熊提前通知朋友,请你根据笨笨熊的办法,帮忙算出:需要纸盒的最少数目是多少?        
运行时间限制: 无限制 内存限制: 无限制 输入:  
整数V——纸盒的容积; 整数N——物品的总数目N; 
共N个整数(对应N个物品的体积,每个整数用空格隔开)。   
输出:  
整数M——需要纸盒的最少数目;          

样例输入: 

 10 


2 3 

样例输出:  1 

答案提示:  

 #include<stdio.h> 

#include<stdlib.h>  

int least(int* p,int n,int v)

 {  int i,j,t,sum=0; 

 for(i=0;i<n-1;i++)  

 for(j=i+1;j<n;j++)   

 if(*(p+i)>*(p+j))  

      {     t=*(p+i);   

           *(p+i)=*(p+j);   

          *(p+j)=t;  

     } 

  i=n-1;

  j=0; 

 while(i>j) 

    {   t=*(p+i); 

  while((t=t+*(p+j))<=v)    

      j++;   

     sum++;  

     i--;  } 

     return sum; 
   }  

int main(void)

 {  int n,v,i; 

    int *p; 

    scanf("%d%d",&n,&v); 

    p=(int *)malloc(n*sizeof(int)); 

   for(i=0;i<n;i++)   

   scanf("%d",p+i);  

   printf("%d\n",least(p,n,v));  

  return 0;

 }

这篇关于华为2014编程大赛初赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095805

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)