| ||||||||||
| 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