首页 > HDU2673-shǎ崽(水题)

HDU2673-shǎ崽(水题)

如果不能够直接秒杀的题,就不算水题。又应证了那句话,有时候,如果在水题上卡住,那么此题对于你来说,也就不算是水题了额~~

刚睡醒,迷迷糊糊。

     题目的意思很简单,求一个最大的,再求一个最小的。几乎是什么营养的题目。可是一开始我还是傻傻地直接暴力,哈哈,为我的笨付出了直接代价。10000*10000,不TLE才怪。

     后来再稍微想了下,应该先从大到小排序,然后取一个头,再取一个尾,直接扫描到中间,分n为奇偶情况考虑。不知各位大虾是不是有更快。

#include

#include

using namespace std;

bool cmp(int a,int b)

{

 if(a>b)

  return true;

 else

  return false;

}

int main(void)

{

 int n,i,j,num[10001];

 while(scanf("%d",&n)==1)

 {

  for(i=0;i
   scanf("%d",&num[i]);

  sort(num,num+n,cmp);

  if(n%2)//奇数这种情况

  {

   for(j=0,i=0;i
   {

    printf("%d %d ",num[j],num[n-j-1]);

   }

   printf("%d ",num[n/2]);

  }

  else//偶数这种情况

  {

   for(j=0,i=0;i
    printf("%d %d ",num[j],num[n-j-1]);

   printf("%d %d ",num[n/2-1],num[n/2]);

  }

  

 }

 return 0;

}

 

转载于:https://www.cnblogs.com/cchun/archive/2011/05/14/2520080.html

更多相关:

  • 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num = “1432219”, k = 3 输出: “1219” 解释: 移除掉三个数字 4, 3, 和 2形成一个新的最小的数...

  • 代码展示:   http://paste.ubuntu.com/23693598/ #include #include #include char * largeDiffer(char *a,char *b){ /*  使用说明 传入的a和b只能为整数 结果为a-b;返回...

  • Description We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But recently, it is reported that he hides in Hang Zhou of Ch...

  • /*Name: NYOJ--811--变态最大值Author: shen_渊 Date: 17/04/17 15:49Description: 看到博客上这道题浏览量最高,原来的代码就看不下去了 o(╯□╰)o */#include #include #include u...

  • 生成唯一号:思路,根据yymmddhhmmss+自增长号+唯一服务器号( SystemNo)生成唯一码,总长度19,例如:1509281204550000101. public class UniqueNumber {     private static long num = 0;//流水号     private sta...

  • #include int main(int args,char ** argv) {int map[3][3]={{1,2,3},{4,5,6},{7,8,9}};int **pMap=(int **)map;printf("%d ",map);//数组的首地址printf("%d ",*(map+1));//数...

  • awk格式化使用printf函数,类似于C语言中的printf函数 比如 awk '{printf "%s ", $1}' test1 上面的方式是awk每次处理一行,然后进行替换的,如果我们想要传入多个参数,此时就需要多个格式化...

  • 【目的】   定义一个结构体类,其中的成员变量数组长度不定,根据实例化的对象指定长度,所以想到用指针实现 【现状】   指针可以指向任意长度数组,但结构体类只分配指针本身4字节长度,所以无法扩展     1 /** 2 *****************************************************...

  • 1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。 #include int main() {int a,b,c,d,e,f;for(a=1000;a<10000;a++){b=a%10;c=a/1...

  • if条件语句  非零即真   0即假 if(表达式){     //成立之后要处理的事情 }   以atm小程序为例 //判断用户选择的操作     if (operation == 1){            //输入密码         printf("输入密码 ");     }          if (operation...