本文主要是介绍nyoj-733-万圣节派对,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//法一
#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;
}
这篇关于nyoj-733-万圣节派对的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!