Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
这题我只用了30k内存。只开一个15的数组就够了。In Reply To:我的MEMORY超出了70多K,郁闷~~~怎么改呢?哪位HELP一下下 Posted by:Azaza at 2005-08-16 21:55:20 > #include<iostream> > using namespace std; > > typedef struct node{ > int data; > struct node *next; > }*LinkedList; > int k; > > LinkedList l; > > LinkedList InitList(int k) > { > LinkedList head,p; > head=(LinkedList)malloc(sizeof(node)); > head->next=head; > head->data=1; > for(int i=1;i<k;i++) > { > p=(LinkedList)malloc(sizeof(node)); > p->data=i+1; > p->next=head->next; > head->next=p; > head=head->next; > } > return(head->next); > } > /*void DestroyList() > { > LinkedList p=l,q; > while (p->next!=NULL) > { > q=p->next; > p->next=p->next->next; > delete q; > } > l = NULL; > }*/ > int del(int i,int k) > { > LinkedList p=l,q; > for(int num=2*k;num>k;num--) > { > for(int j=1;j<i-1;j++) > p=p->next; > if(p->next->data<=k) > { > // DestroyList(); > return 1; > } > else > { > q=p->next; > p->next=p->next->next; > p=p->next; > free(q); > } > } > return 0; > } > void main() > { > while(cin>>k&&k!=0) > { > for(int i=k+1;;i++) > { > l=InitList(2*k); > if(del(i,k)==0) > break; > } > cout<<i<<endl; > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator