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