⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1082.c

📁 平时acm训练时ac的源代码
💻 C
字号:
             #include "stdio.h"
long c=0;
long A[1000];
long N;
long ok=0;
long o=0;
long qw=0;

long P(long l, long r)
{
  long x=A[l];
  long i=l-1;
  long j=r+1;
  long t;
  while(1)
  {
    do{--j; ++c;}
    while(A[j]>x);
    do{++i; ++c;}
    while(A[i]<x);
    if(i<j)
     {
       t=A[i];
       A[i]=A[j];
       A[j]=t;
     }
    else return j;
  }
}
 
void Q(long l, long r)
{
  long n;
  if(l<r)
    {
       n=P(l,r);
       Q(l,n);
       Q(n+1,r);
    }
}

int test()
{
  long i=0;
  long j=N-1;
  long k=0;
  long t;/*temp*/
  while(1)
  {
    Q(0,N-1);
    qw=(c==(N*N+3*N-4)/2);
    if (qw)
    {
      for (k=0;k<=N-1;k++)
      {
         fflush(stdout);
         printf("%ld ",A[k]);
      }
      return 0;
    }
    else
    {
      c=0;
      if (i!=j)
      {
        t=A[j];
        A[j]=A[j-1];
        A[j-1]=t;
        j--;
      }
      else
      {
        j=N-1;
      }
    }
  }/*end while*/

}/*end test*/




int main(void)
{
  long i=0;
  fflush(stdout);
  scanf("%ld",&N);
  fflush(stdin);
  for (;i<=N-1;i++)
  {
    A[i]=i+1;
  }
  test();
  fflush(stdout);
  fflush(stdout);

  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -