| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:我也认为这样应该是broken.但按照楼上的观点,这个就是clear了吧。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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator