2011年4月10日

转载 sort函数解hdu 1209

摘要: 转载原文:thankshttp://hi.baidu.com/qiaolw/blog/item/c08b245a4a737bca9d820433.html题目大意是求时针与分针的角度,并输出中间那个的时间。时针与分针的求法:double ha=(h+m/60.0)*30; (如果h大于12,h=h-12)double ma=6.0*m;double angle=abs(ha-ma);angle=angle>180?360-angle:angle; 代码:#include<iostream>#include<cmath>#include<cstdio># 阅读全文

posted @ 2011-04-10 21:23 more think, more gains 阅读(193) 评论(0) 推荐(0) 编辑

qsort和sort的区别 转载

摘要: qsort和sort的区别First qsort基本快速排序的方法,每次把数组分成两分和中间的一个划分值,而对于有多个重复值的数组来说,基本排序的效率较低。集成在C语言库函数里面的的qsort函数,使用 三 路划分的方法解决这个问题。所谓三路划分,是指把数组划分成小于划分值,等于划分值和大于划分值的三个部分。函数对buf 指向的数据按升序排序。使用方法:void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )int compare (const void *elem1, const void *elem2 阅读全文

posted @ 2011-04-10 21:19 more think, more gains 阅读(270) 评论(0) 推荐(0) 编辑

hdu 1209 clocks wrong answer 我的错误代码(没审好题唉,角度一样后,还要按小时排序。

摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>int cmp(const void *a,const void *b){ return *(double* )a > *(double *)b ?1 :-1;}double fun(int x,int y){ if(x>12) x=x-12; return abs(x*30-(y/5.0)*30)> 180 ? 360-abs(x*30-(y/5.0)*30):abs(x*30-(y/5.0 阅读全文

posted @ 2011-04-10 21:18 more think, more gains 阅读(222) 评论(0) 推荐(0) 编辑

As Easy As A+B hdu 1040 水题

摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>int cmp(const void *a,const void *b){ return *(int * )a-*(int * )b;}int main( ){ int N,T; int i,A[1010]; scanf("%d",&T); memset(A,0,sizeof(A)); while(T--) { scanf("%d",&N); memset(A,0,sizeof(A)); for(i 阅读全文

posted @ 2011-04-10 13:00 more think, more gains 阅读(250) 评论(0) 推荐(0) 编辑

Ignatius and the Princess IV hdu 1029

摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>int main( ){ long N; while(scanf("%d",&N)!=EOF) { long i=0,j,A[100000],temp,M,flag=1,max=0; M=(N+1)/2; memset(A,0,sizeof(A)); for(i=1;i<=N;i++) { scanf("%ld",&temp); A[temp]++; if(A[temp]>=M& 阅读全文

posted @ 2011-04-10 12:43 more think, more gains 阅读(143) 评论(0) 推荐(0) 编辑

hdu 1106 排序

摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>int cmp(const void *a,const void *b){ return *(long *)a > *(long *)b ? 1: -1;}int main( ){ char ch[1005]; while(scanf("%s",ch)!=EOF) { char *p,*q,ch1[1005]; int len,i=0,k=0,m=0,flag=0; long A[1001]; len=strlen(ch); m 阅读全文

posted @ 2011-04-10 00:00 more think, more gains 阅读(285) 评论(0) 推荐(0) 编辑

导航