Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:我也认为这样应该是broken.但按照楼上的观点,这个就是clear了吧。

Posted by temp0 at 2005-08-18 15:42:32 on Problem 2585
In Reply To:我也认为这样应该是broken.但按照楼上的观点,这个就是clear了吧。 Posted by:mostleg at 2005-08-18 15:30:25
不是的 也应该输出broken
因为看中间5 2这两个数字是重叠着的 也就是说在属于5和2的范围内 一个有5一个有2 那样肯定是不行的 这样就会输出broken
我的程序 如果谁有数据帮我测试一下 谢谢:
#include<stdio.h>
#include<string.h>

struct square
{
	int num;
	int data[2][2];
}a[5][5];

main()
{
	int temp[5][5],i,i1;
	bool flag;
	char str[20];
	while(scanf("%s",str)!=EOF&&strcmp(str,"ENDOFINPUT"))
	{
		for(i1=1;i1<5;i1++)
		{
			for(i=1;i<5;i++)
			{
				scanf("%d",&temp[i][i1]);
			}
		}
		flag=true;
		for(i1=1;i1<4;i1++)
		{
			for(i=1;i<4;i++)
			{
				a[i][i1].data[0][0]=temp[i][i1];
				a[i][i1].data[0][1]=temp[i][i1+1];
				a[i][i1].data[1][0]=temp[i+1][i1];
				a[i][i1].data[1][1]=temp[i+1][i1+1];
				a[i][i1].num=i1*3+i-3;
			}
		}
		for(i1=1;i1<4;i1++)
		{
			for(i=1;i<4;i++)
			{
				if(a[i][i1].data[0][0]==a[i-1][i1].num)
				{
					if(a[i][i1].data[0][1]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[0][0]==a[i][i1-1].num)
				{
					if(a[i][i1].data[1][0]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[0][0]!=a[i-1][i1-1].num&&a[i][i1].data[0][0]!=a[i][i1].num)
				{
					flag=false;
					goto pr;
				}
				if(a[i][i1].data[1][0]==a[i+1][i1].num)
				{
					if(a[i][i1].data[1][1]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[1][0]==a[i][i1-1].num)
				{
					if(a[i][i1].data[0][0]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[1][0]!=a[i+1][i1-1].num&&a[i][i1].data[1][0]!=a[i][i1].num)
				{
					flag=false;
					goto pr;
				}
				if(a[i][i1].data[0][1]==a[i-1][i1].num)
				{
					if(a[i][i1].data[0][0]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[0][1]==a[i][i1+1].num)
				{
					if(a[i][i1].data[1][1]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[0][1]!=a[i-1][i1+1].num&&a[i][i1].data[0][1]!=a[i][i1].num)
				{
					flag=false;
					goto pr;
				}
				if(a[i][i1].data[1][1]==a[i+1][i1].num)
				{
					if(a[i][i1].data[1][0]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[1][1]==a[i][i1+1].num)
				{
					if(a[i][i1].data[0][1]==a[i][i1].num)
					{
						flag=false;
						goto pr;
					}
				}
				else if(a[i][i1].data[1][1]!=a[i+1][i1+1].num&&a[i][i1].data[1][1]!=a[i][i1].num)
				{
					flag=false;
					goto pr;
				}
			}
		}
pr:		if(flag)
			printf("THESE WINDOWS ARE CLEAN\n");
		else
			printf("THESE WINDOWS ARE BROKEN\n");
		scanf("%s",str);
	}
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator