| ||||||||||
| 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 | |||||||||
估计是new了太多In Reply To:急救 为什么会Memory Limit Exceed Posted by:90303121 at 2004-05-22 16:56:07 > #include<iostream>
> #include<iomanip>
>
> using namespace std;
>
> struct joseph
> {
> int num;
> joseph * left;
> joseph * right;
> };
>
> typedef joseph * ring;
>
> void creat(ring & head,int k)
> {
>
> ring pr,p;
> int i=1;
> p=new joseph;
> p->num=1;
> pr=p;
> while(i<k*2)
> {
>
> if(head==NULL)
> head=p;
> else
> {
> i++;
>
> p=new joseph;
> p->num=i;
> p->left=pr;
> pr->right=p;
>
> pr=p;
> }
> }
> p->right=head;
> head->left=p;
>
>
>
> }
>
>
> void del(ring & pr)
> {
> ring temp=pr;
> pr=pr->right;
> temp->left->right=temp->right;
> temp->right->left=temp->left;
>
>
> }
>
>
>
>
> void main()
> {
> int k;
> cin>>k;
>
> while(k!=0)
> {
> for(int m=k+1;;m++)
> {
> ring head=NULL;
> creat(head,k);
> ring p=head;
> for(int l=1;l<=k;l++)
> {
> for(int i=1;i<m;i++)
> p=p->right;
> if(p->num >k)
> del(p);
> else
> break;
>
> if(l==k)
> {
> cout<<m<<endl;
> goto end;
> }
>
>
> }
>
> }
> end:
>
> cin>>k;
> }
>
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator