上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 所有车子到达的总时间算出来,然后从小到大排序,如果:1. 开始时间 0 的,Charley 和最早到达的车子一起到达。还有一种就是如果就是Charley一个人的时候,那么就按照他自己的速度达到目的地#include#include#includetypedef struct{ int v; int settime; int time;}person;person p[10010];int cmp(const void *a,const void *b){ person *c=(person *)a; person *d=(person *)b; retur... 阅读全文
posted @ 2014-03-25 14:51 keyboard3 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这题解决的算法处理,真的很难想清楚!!尤其是最后的正矩形如何处理。不过终于看懂了#include#include#include#include#define MAX 110 #define min(a,b) ((a)<(b))?(a):(b)char board[MAX][MAX]; int sum[MAX][MAX]; int main(void) { int n,i,ans,j,len,k; while(scanf("%d",&n)!=EOF) { memset(sum,0,sizeof(sum)); /*初始化每个点的个数为0*/ mems... 阅读全文
posted @ 2014-03-25 13:28 keyboard3 阅读(300) 评论(0) 推荐(0) 编辑
摘要: /*根据题意:不难看出,要是整个方程式最小,那么应该大的数先结合,小的数后结合。先排序然后结合(贪心) */ #include#include#includeint cmp(const void *a,const void *b){ return (*(int *)a<*(int *)b);} int main(void){ int a[101]; double sum; int n,i; while(scanf("%d",&n)!=EOF) { sum=0; for(i=0;i<n;i++) scanf("%d",... 阅读全文
posted @ 2014-03-24 18:13 keyboard3 阅读(114) 评论(0) 推荐(0) 编辑
摘要: /*如果要一个物体的多种属性,最好用结构体,不要用二维数组或者多维数组。用多维数组进行关键字排序很不稳定 */ /*给每个设备的所有价格排序,每个设备选取恰好比已知带宽大的价格(这个时候的比例最大) 循环每个设备就得到所有价格综合 然后得到该带宽下的B/P比较所有带宽的B/P 选取最大的就是所求的*/ #include #include #define true 1#define false 0 typedef struct { int b, p; }SYS;SYS sys[100][100];int cmp(const void * a, const void * b){ SYS * c.. 阅读全文
posted @ 2014-03-24 17:26 keyboard3 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 硬币称重,经典,1.若被判平,左右所有硬币必正常;2.若判轻或判重,对应硬币被判轻-1、重记数+1;3.只有球只被判轻或判重,且次数跟天平不平衡次数相等,该球才能是坏的,否则必然是好的。且>0的是偏重,#include#includeint main(void){ int s[15]; int i,j,t,len1,len2,count=0; char str[3][3][13]; scanf("%d",&t); while(t--) { count=0;/*不平衡的次数*/ for(i=0;i<3 ;i++ ) ... 阅读全文
posted @ 2014-03-23 20:46 keyboard3 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 很简单的DFS搜索水题,递归理解深了很easy的!打了一遍就ac了#includeint atr[25][25];int count=1,n,m;void DFS(int x,int y){ int i=0; for(i=0;i=0&&atr[y-1][x]==0)/*向上有点并且可以访问*/ { count++; atr[y-1][x]=1; DFS(x,y-1); } } else if(i==1) { ... 阅读全文
posted @ 2014-03-22 17:21 keyboard3 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 其实这道题目,我感觉就是一道数学题,仔细观察题目的规律可知,举例吧!就用题目中的这两个例子。1,a b c 3 5 4那么如何可以得到4呢!2*b-2*a=2*5-2*3=4 即 (b-a)+(b-a)=4 正号可以看做满水,b-a可以看做是b的水倒向a2,a b c 5 7 3这个可以拆解为 2*a-b=3 即 2*5-7=3 当然这只是第一步,得到每个那个壶先灌了几次水,那个壶向那个壶转了几次水。然后就可以推出倒了几次水。剩下就简单了,考验你的分析能力了!!!#include#includeint Max(int n,int i,int m,int j){ if((i*n-j*m)... 阅读全文
posted @ 2014-03-19 19:36 keyboard3 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 快排的效率很快,但是我们很少知道如何利用它进行多关键字排序,比如我想对一个数组a[i][0]进行的一个元素进行主关键字排序,又想对a[i][1]进行次关键字排序。那么接下来就是解决这个问题的方法。 学过数据结构的同学,应该知道快排的基本原理,就是将要排序的物品(不说成值,因为我们可能要排多维数组或者是结构体),就是每次将一个物品放到序列中最合适的位置,那么如何放,如果想要递增排序,就是前面的物品和后面的物品,谁大的放后面。所以通过这个原理就知道void qsort(void*, size_t, size_t, int*(const void*, const void*));这个函数传参数的.. 阅读全文
posted @ 2014-03-17 10:32 keyboard3 阅读(1626) 评论(0) 推荐(0) 编辑
摘要: 这道题告诉我想法正确是多么重要,先是我自己想的时候没考虑到最后的页码作为循环的终止,我一直以区间个数来终止循环,这是多么愚蠢啊!然后,我看了别人的代码,但是很不幸超时了!我自己wa的代码,我感觉很正确就是对不了!#include#include#includeint cmp(const void *a,const void *b){ return (*(int *)a-*(int *)b);}int main(void){ int t,n,i,j,count,k,temp; int s[5002][2]; scanf("%d",&t); while(t--) { s 阅读全文
posted @ 2014-03-16 00:12 keyboard3 阅读(299) 评论(0) 推荐(0) 编辑
摘要: #include#includeint s[110][110],h;int main(int argc, char* argv[]){ int t,i,n,k,m,x,y,count,sum,j; scanf("%d",&t); while(t--) { scanf("%d%d%d",&n,&m,&h); memset(s,0,sizeof(s));/*初始化矩阵所有的值为0*/ for(i=0;i=h)/*如果有超过一个共同的好友就可以更新矩... 阅读全文
posted @ 2014-03-10 22:11 keyboard3 阅读(137) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页