您的位置:首页 > 其它

nyoj-733-万圣节派对

2014-04-12 14:56 218 查看
//法一

#include<stdio.h>

#include<string.h>

#include<math.h>

int a[6];

int men()

{

 int j,g=1;

  for(j=1;j<6;j++)

   if(a[j]-a[j-1]>4||a[j-1]-a[j]>4)

   {

    g=0;

    break;

   }

   for(j=2;j<6;j++)

    if(a[j-2]==a[j]&&a[j-1]==a[j]&&a[j-2]==a[j-1])

    {

     g=0;

     break;

    }

    for(j=0;j<6;j++)

     if(a[j]>6)

     {

      g=0;

      break;

     }

     return g;

}

int main()

{

 int s;

 scanf("%d",&s);

 while(s--)

 {

  int x,y,i,j,t,k;

  memset(a,0,sizeof(a));

  scanf("%d%d",&x,&y);

  for(i=x;i<=y;i++)

  {

   t=i;

   k=0;

   while(t)

   {

    a[k++]=t%10;

    t/=10;

   }

   if(men())

   {

    for(j=5;j>=0;j--)

     printf("%d",a[j]);

              printf("\n");

   }

  }

  printf("\n");

 }

 return 0;

}

//法二

#include<stdio.h>

#include<string.h>

#include<math.h>

int a[6];

int men()

{

 int j,g=1;

  for(j=1;j<6;j++)

   if(a[j]-a[j-1]>4||a[j-1]-a[j]>4)

   {

    g=0;

    break;

   }

   for(j=2;j<6;j++)

    if(a[j-2]==a[j]&&a[j-1]==a[j]&&a[j-2]==a[j-1])

    {

     g=0;

     break;

    }

     return g;

}

int main()

{

 int s;

 scanf("%d",&s);

 while(s--)

 {

  int x,y,i,j,t,k;

  memset(a,0,sizeof(a));

  scanf("%d%d",&x,&y);

  for(i=x;i<=y;i++)

  {

   t=i;

   k=0;

   j=1;

   while(t)

   {

    a[k++]=t%10;

    if(a[k-1]>6)

    {

     j=0;

     break;

    }

    t/=10;

   }

   if(j)

   {

    if(men())

    printf("%06d\n",i);

   }

  }

  printf("\n");

 }

 return 0;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: