编程
秋天的风--
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
展开
-
水1276
#include#includeint main() { int i,j,t,k,count,a[6010],n,sum; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(a,0,sizeof(a)); sum=0;k=2; while(sum count=0; for(j=1;j原创 2013-08-19 10:13:28 · 496 阅读 · 0 评论 -
2059龟兔赛跑
#includeint main() { __int64 i,n,c,t,l,vr,vt1,vt2,p[101]; double f[101]; while(scanf("%I64d%I64d%I64d%I64d%I64d%I64d%I64d",&l,&n,&c,&t,&vr,&vt1,&vt2)!=EOF) { for(i=1;i scanf("%I64d",&p[原创 2013-08-19 15:22:22 · 784 阅读 · 0 评论 -
hdu 1059二进制优化背包问题
#include#includeint max(int a,int b ) { return a>b?a:b;}int a[8];int dp[50000];int main() { int i,j,m=0,sum,k,l; while(scanf("%d%d%d%d%d%d",&a[1],&a[2],&a[3],&a[4],&a[5],&a[6])原创 2013-08-20 10:13:47 · 765 阅读 · 0 评论 -
贪吃蛇游戏(附源码)
#include #include #include #include const int maxn = 100; const int n = 20; struct node { int x, y; }; int map[maxn][maxn]; // 0表示空格,1表示蛇身,2表示食物,3转载 2013-08-15 20:23:48 · 677 阅读 · 0 评论 -
hdu 1390
#includeint main() {int t,n,a[1001];scanf("%d",&t);while(t--) {scanf("%d",&n);int i=0;while(n) {a[i++]=n%2;n/=2;}int j;int flag=0;for(j=0;jif(a[j]==1) {if(!flag) {flag原创 2013-07-31 19:21:12 · 661 阅读 · 0 评论 -
hdu 3732
#include#includeint n,m,dp[10001];int max(int a,int b) { return a>b?a:b;}void yi(int val,int co) { int i; for(i=m;i>=co;i--) dp[i]=max(dp[i],dp[i-co]+val);}void duo(int val,int原创 2013-08-02 15:09:00 · 590 阅读 · 0 评论 -
hdu 1172
#include#include#includetypedef struct node{ char difang[110],zhong[110]; int num;}F;int cmp(const void *a,const void *b) { if(strcmp((*(F *)a).difang,(*(F*)b).difang)!=0) return st原创 2013-08-02 16:21:55 · 675 阅读 · 0 评论 -
hdu 2713
#include#includeint map[151000][2];int max(int a,int b) { return a>b?a:b;}int main() { int n,d; while(scanf("%d",&n)!=EOF) { memset(map,0,sizeof(map)); int i=0; map[i][0]=0;原创 2013-07-31 17:39:18 · 594 阅读 · 0 评论 -
hdu 2831
#include#includestruct node{int x,y,j,num;}a[110];int cmp(const void *b,const void *c) {return (*(struct node *)b).num -(*(struct node *)c).num ;}int main() {int n,m,i,j,k,c[110];w原创 2013-08-03 10:22:36 · 593 阅读 · 0 评论 -
hdu 3940
#include#include#includedouble first(double vx,double vy,double h) { return vx*(vy+sqrt(vy*vy+19.6*h))/9.8;}double nowh(double h,double vy,double t) { return h+vy*t-4.9*t*t;}in原创 2013-08-12 15:30:49 · 622 阅读 · 0 评论 -
hdu 4091
#include#include__int64 gcd(__int64 a,__int64 b) { if(b==0) return a; else gcd(b,a%b);}__int64 lcm(__int64 a,__int64 b) { __int64 t; if(a t=a; a=b; b=t; } return a/g原创 2013-08-13 17:21:11 · 618 阅读 · 0 评论 -
hdu 2126背包问题
#include#include#includeint cmp(const void *a,const void *b ) {return *(int *)a-*(int *)b;}int dp[600][40];int a[40];int main() {int t,n,m,i,j,p,kind;scanf("%d",&t);while(t--) {原创 2013-08-15 14:57:35 · 778 阅读 · 0 评论 -
hdu 2167 状态压缩
/*与1565的解法差不多*/#include#includeint map[16][16];int dp[2][1int h[1int Max(int a,int b){ return a>b?a:b;}int main(){ int m,i,j,k,max; m=0; for(i=0;i if((i&(i h[m++]=i;原创 2013-08-15 16:40:08 · 674 阅读 · 0 评论 -
hdu 1563简单异或Find your present!
#includeint main(){ int n,m,s; while(scanf("%d",&n),n) { s=0; while(n--) { scanf("%d",&m); s^=m; } printf("%d\n",s); } return 0;}原创 2013-08-16 10:17:39 · 782 阅读 · 0 评论 -
hdu 2100
#include#includechar a[300],b[300];int a1[300],b1[300];int main() {int i,j,k,c[300],suma,sumb,lena,lenb;while(scanf("%s%s",a,b)!=EOF) { lena=strlen(a); lenb=strlen(b); memset(a原创 2013-07-31 15:54:18 · 663 阅读 · 0 评论 -
hdu 2859
#include#includechar s[200][200]; int a[200][200]; int n,m; int dir[4][2]={-1,0,1,0,0,1,0,-1}; void dfs(int x,inty) { if(s[x][y]=='.') return;原创 2013-07-31 15:55:09 · 729 阅读 · 0 评论 -
hdu 1237
#include#includeint main() { double a; double b; int c; char ch; double num[300]; while(scanf("%d",&c)) { if(getchar()=='\n'&&c==0)//注意必须这样写 break; int i=0; num[0]=c;原创 2013-07-31 17:10:01 · 590 阅读 · 0 评论 -
hdu 3711
#include#include#includeint cmp(const void *a,const void *b) { return *(int *)a-*(int *)b;}int seach(int n,int m) { int sum=0,n_x,m_x; while(n||m) { n_x=n%2;原创 2013-07-31 19:58:14 · 673 阅读 · 0 评论 -
hdu 2859
#includechar s[1010][1010];int map[1010][1010];int main() { int n,i,j,k,ii,jj; while(scanf("%d",&n),n) { for(i=0;i scanf("%s",s[i]); int su=-1; for(i=0;i for(j=0;j if(i原创 2013-08-01 11:26:00 · 518 阅读 · 0 评论 -
hud 2073
#include#includeint main() { int i,j,k,n,m,t; double a[220]; a[0]=0; for(i=1;i210;i++) a[i]=a[i-1]+sqrt(1.0*i*i+1.0*(i-1)*(i-1))+sqrt(1.0*i*i*2); int x1,y1,x2,y2; sca原创 2013-08-01 16:41:17 · 531 阅读 · 0 评论 -
hdu 1250
#include#includeint f[10010][600];int main() { int i,j,k,n,m; memset(f,0,sizeof(f)); f[1][0]=1;f[2][0]=1;f[3][0]=1;f[4][0]=1; for(i=5;i for(j=0;j f[i][j]=f[i][j]+f[i-1][j]+f[i-2][原创 2013-08-01 16:42:16 · 485 阅读 · 0 评论 -
hdu 4422
#include#include#define inf 0x7fffffffint main() { int i,j,k,a[6],n; while(scanf("%d",&n)!=EOF) { memset(a,0,sizeof(a)); for(i=0;i scanf("%d",&a[i]);原创 2013-08-12 15:59:16 · 711 阅读 · 0 评论 -
hdu 1074
#include#define inf 0x7fffffffint max(int a,int b) { return a>b?a:b;}typedef struct { int dead,time; char s[200];}H;typedef struct { int val,last,time;}F;F dp[116]原创 2013-08-14 11:24:57 · 593 阅读 · 0 评论 -
hdu 4539
#include#includeint dp[2][202][202];int s[202],c[202],origmap[202];int main() { int i,j,n,m; int ch; while(scanf("%d%d",&n,&m)!=EOF) { memset(origmap,0,sizeof(origmap)原创 2013-08-14 20:30:28 · 650 阅读 · 0 评论 -
hdu 1565 状态压缩dp
#include#includeint Max(int a,int b) { return a>b?a:b;}int dp[3][121];int map[30][30];int s[121];int main() { int i,j,k,n,num=0; for(i=0;i121);i++) if(!(i&(i1))原创 2013-08-14 20:31:55 · 627 阅读 · 0 评论 -
hdu 2686最小费用最大流问题
#include#include#includeusing namespace std;#define inf 0x7fffffffstruct node{ int u,v,w,f,next;}bian[20000];int dis[6000],pre[6000],head[6000],visit[6000],yong,minf;void build(in原创 2013-08-14 20:35:14 · 556 阅读 · 0 评论 -
hdu 1501 基本搜索深搜
#include#includechar s1[300],s2[300],s[500];int len1,len2,len3,flag,used[300][300];void dfs(int a,int b,int c) { if(flag) return ; if(c==len3) { flag=1; return ; } if(used[a][原创 2013-08-15 16:29:59 · 569 阅读 · 0 评论 -
hdu 2795线段树
#include#define N 200005int h,w,n;struct node { int x,y,max;}a[N*3];int mmax(int e,int f) { return e>f?e:f;}void creattree(int t,int x,int y) { a[t].x=x; a[t].y=y;原创 2013-08-15 16:44:11 · 619 阅读 · 0 评论 -
hdu 1564水题Play a game
#includeint main() { int n; while(scanf("%d",&n),n) { n=n*n-1; if(n%2) printf("8600\n"); else printf("ailyanlu\n"); } return 0;}原创 2013-08-16 10:36:07 · 984 阅读 · 0 评论 -
Intersecting Lines
Intersecting LinesTime Limit:1000MS Memory Limit:65536KTotal Submit:13 Accepted:4DescriptionWe all know that a pair of distinct points on a plane defines a line and that a pair of lines on a原创 2013-08-17 20:02:19 · 716 阅读 · 0 评论 -
hdu 4710
#include#include__int64 min(__int64 a,__int64 b) { return ab?a:b;}__int64 gcd(__int64 a,__int64 b) { if(b==0) return a; return gcd(b,a%b);}__int64 count(__int6原创 2013-09-09 16:53:01 · 921 阅读 · 0 评论 -
手动扩大栈内存,让AC无忧
http://blog.csdn.net/shahdza/article/details/6586430还在因为 怕 g++ 提交时间很慢,但是用C++ 交又怕栈溢出???我们都知道,如果代码里有 递归函数 频繁调用, 用 C++ 提交代码, 很可能就会 出现 Runtime Error (ACCESS_VIOLATION) 但是用G++提交,如果数转载 2013-09-09 17:15:09 · 1052 阅读 · 0 评论 -
hdu 1698
#include#include#define N 100000struct st{ int x,y,yanchi;}a[N*4];void build(int t,int x,int y) { a[t].x=x; a[t].y=y; a[t].yanchi=1; if(x==y) return ; int temp=t*2; int mid原创 2013-09-03 20:06:36 · 666 阅读 · 0 评论 -
hdu 4715
#include#includeint prime[1100000],p[1000000],ans;void pri() { int i,j,k; memset(prime,-1,sizeof(prime)); prime[0]=prime[1]=0; for(i=2;i if(prime[i]==-1) {原创 2013-09-09 17:34:13 · 801 阅读 · 0 评论 -
A*算法入门
在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法。 启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。估价函数:从当前节点移动到目标节点的预估费用;这个估计就是启发式的。在寻路问题和迷宫问转载 2013-10-01 17:04:05 · 735 阅读 · 0 评论 -
A*
http://www.cnblogs.com/183zyz/archive/2011/08/12/2135827.html转载 2013-10-01 18:03:28 · 466 阅读 · 0 评论 -
hdu 1528 二分匹配
#include#includeint map[100][100],mark[100],link[100],max2,k;int find(int u) { int i; for(i=1;i if(!mark[i]&&map[u][i]) { mark[i]=1; if(!link[i]||find(link[i])) { link[i]=u;原创 2013-10-03 17:33:58 · 609 阅读 · 0 评论 -
1027 stl
#include#includeusing namespace std;int main() { int i,n,m,j,k,a[1001]; while(scanf("%d%d",&n,&m)!=EOF) { for(i=1;i a[i]=i; int j=1; while(j next_permut原创 2013-10-03 17:43:46 · 558 阅读 · 0 评论 -
hdu 3123
#include#include#includeint main() { int i,n,m,t; __int64 sum,k;//必须用64位不然就错了 char s[1001]; scanf("%d",&t); while(t--) { scanf("%s%d",s,&m); if(strlen(s)>6) n=m-1; else {原创 2013-10-04 15:15:06 · 622 阅读 · 0 评论 -
hdu 1043 A*
#include#define N 363000#include#includeusing namespace std;int visit[N];char visit1[N];int pre[N],st,a[10],end;int dir[9]={1,1,2,6,24,120,720,5040,40320};struct node { int ma[10];转载 2013-10-03 16:16:30 · 528 阅读 · 0 评论