NYOJ 733 万圣节派对【简单题】

注意输入的数是在0~6之间的

思路:先将输入的数按逆序输入数组中,最后在按顺序输出就可以了,输入数后再判断条件,如果有三位连续的数,标记为1,如果相邻两位之差大于4,也标记为一,

万圣节派对

时间限制:1000 ms  |  内存限制:65535 KB

难度:1

描述

万圣节有一个Party,XadillaX显然也要去凑热闹了。因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了。很幸运的,XadillaX竟然拿到了一张真·门票!这真·门票的排列规则有些奇怪:

  1. 门票号是由0~6组成的六位数(0~6这几个数字可重用)
  2. 每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的)
  3. 每一个门票号相邻的两位相差必须在四以下(≤4)(如016245是不行的)
输入
第一行一个n,代表输入个数

接下去n行,每行两个数字x,y(x <= y)

输出
对于每个测试,输出x到y之间的门票编号。每个测试结尾之间空行。
样例输入
2
001001 001002
001011 001012
样例输出
001001
001002

001011
001012
来源
NBOJ-1004
上传者
勿念情

#include<stdio.h>
#include<string.h>
int arr[10];
int main()
{
	int n,x,y,i,j;
	int flag,temp,k;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d%d",&x,&y);
		for(i=x;i<=y;i++)
		{
			memset(arr,0,sizeof(arr));//要注意在每输入一个数都要将数组清零,不然当后面一个数为零时,输入不进去,所以一开始就将它初始化为零
			flag=k=0;
			temp=i;
			while(temp)//存数
			{
				arr[k++]=temp%10;
				if(temp%10>6)
				{
					flag=1;
					break;
				}
				temp/=10;
			}

			if(flag==0)
			{
				for(j=0;j<4;j++)
				{
					if(arr[j]==arr[j+1]&&arr[j+1]==arr[j+2])
					{
						flag=1;
						break;
					}
				}

				for(j=0;j<5;j++)
				{
					if((arr[j]-arr[j+1]<-4)||(arr[j]-arr[j+1]>4))
					{
						flag=1;
						break;
					}
				}
			}	

			if(flag==0)
			{
				for(j=5;j>=0;j--)
					printf("%d",arr[j]);
				printf("\n");
			}	

		}
		if(n!=0)
			printf("\n");
	}

	return 0;
} 
时间: 2024-08-05 22:57:17

NYOJ 733 万圣节派对【简单题】的相关文章

NYOJ 733 万圣节派对

#include<stdio.h>#include<math.h>#include<iostream>using namespace std;int main(){ int n,a[6],x,y,i,j; //scanf("%d\n",&n); cin>>n; while(n--) { //scanf("%d%d",&x,&y); cin>>x>>y; for(i=x;i

NYOJ---题目733万圣节派对

万圣节派对 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 万圣节有一个Party,XadillaX显然也要去凑热闹了.因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了.很幸运的,XadillaX竟然拿到了一张真·门票!这真·门票的排列规则有些奇怪: 门票号是由0~6组成的六位数(0~6这几个数字可重用) 每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的) 每一个门票号相邻的两位相差必须在四以下(≤4)(如016245是不行

NYOJ 464 Cookies【简单题】

http://acm.nyist.net/JudgeOnline/problem.php?pid=464 #include<stdio.h> int main() { int even,odd,sum; int i,n,arr[110]; while(~scanf("%d",&n)) { even=odd=sum=0; for(i=0;i<n;i++) { scanf("%d",&arr[i]); sum+=arr[i]; if(a

NYOJ 663 弟弟的作业【简单题更能体现水平。。。】

弟弟的作业 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 你的弟弟刚做完了"100以内数的加减法"这部分的作业,请你帮他检查一下.每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负整数:c是弟弟算出的答案,可能是不超过200的非负整数,也可能是单个字符"?",表示他不会算. 输入 输入文件包含不超过100行,以文件结束符结尾.每行包含一道题目,格式保证符合上述规定,且不包含任何

NYOJ 1009 So Easy[Ⅰ]【简单题】

/* 题目大意:求三角形的外接圆 解题思路:c/sin(C)=2R,先求出cos,在求出sin 关键点:直接调用库 解题人:lingnichong 解题时间:2014-10-18 10:19:33 解题体会:简单题 */ So Easy[Ⅰ] 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 给出随意一个三角形的三个边a,b,c. 要求:求出这个三角形的外接圆半径. 输入 输入数据有多组. 每行有三个数a,b,c(0<a,b,c<100) 输出 输出一行单独的一

万圣节派对(水题)

万圣节派对 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 万圣节有一个Party,XadillaX显然也要去凑热闹了.因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了.很幸运的,XadillaX竟然拿到了一张真·门票!这真·门票的排列规则有些奇怪: 门票号是由0~6组成的六位数(0~6这几个数字可重用) 每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的) 每一个门票号相邻的两位相差必须在四以下(≤4)(如016245是不行

poj2105 IP Address(简单题)

题目链接:http://poj.org/problem?id=2105 Description Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1s' and '0s' (bits) to a dotted decimal format. A dotted decima

poj 3270 Cow Sorting 置换群 简单题

假设初始状态为 a:2 3 1 5 4 6 则目标状态为 b:1 2 3 4 5 6且下标为初始状态中的3 1 2 4 5 6(a[3],a[1]...) 将置换群写成循环的形式 (2,3,1),(5,4),6就不用移动了. 移动方式2种 1:选循环内最小的数和其他len-1个数交换 2:选整个序列最小的数和循环内最小的数交换,转到1,再换回来. #include<cstdio> #include<queue> #include<algorithm> #include&

数论 --- 简单题

吃糖果 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 22376    Accepted Submission(s): 6396 Problem Description HOHO, 终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一 种,这样: