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

请高手帮忙看看哪错了

Posted by wpt at 2007-02-26 03:55:27 on Problem 1099
import java.util.Scanner;

public class Main{
	static int[][] r;
	static char[][] end;
	static boolean[][] judge;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		for(int i=1;;i++)
		{
			int n=in.nextInt();
			if(n==0)
				return;
			r=new int[n][n];
			end=new char[4*n-3][4*n+1];
			judge=new boolean[4*n-3][4*n+1];
			for(int j=0;j<n;j++)
				for(int k=0;k<n;k++)
					r[j][k]=in.nextInt();
			
			for(int j=0;j<4*n-3;j++)
				for(int k=0;k<4*n+1;k++)
				{
					end[j][k]=' ';
					judge[j][k]=true;
				}
			for(int j=0;j<4*n-3;j+=4)
				for(int k=2;k<4*n+1;k+=4)
					end[j][k]='O';
			for(int j=0;j<4*n-3;j+=4)
				for(int k=0;k<4*n+1;k+=4)
					end[j][k]='H';
			for(int j=2;j<4*n-3;j+=4)
				for(int k=2;k<4*n+1;k+=4)
					end[j][k]='H';
			if(r[0][0]==0)
			{
				end[0][1]='-';
				end[1][2]='|';
				judge[0][0]=false;
				judge[2][2]=false;
			}
			if(r[0][n-1]==0)
			{
				end[0][4*n-1]='-';
				end[1][4*n-2]='|';
				judge[0][4*n]=false;
				judge[2][4*n-2]=false;
				
			}
			if(r[n-1][0]==0)
			{
				end[4*n-4][1]='-';
				end[4*n-5][2]='|';
				judge[4*n-4][0]=false;
				judge[4*n-6][2]=false;
			}
			if(r[n-1][n-1]==0)
			{
				end[4*n-4][4*n-1]='-';
				end[4*n-5][4*n-2]='|';
				judge[4*n-4][4*n]=false;
				judge[4*n-6][4*n-2]=false;
			}
			for(int j=0;j<n;j++)
				for(int k=0;k<n;k++)
				{
					if(r[j][k]==1)//O[4*j][2+4*k]
					{
						end[4*j][1+4*k]='-';
						end[4*j][3+4*k]='-';
						judge[4*j][4*k]=false;
						judge[4*j][4+4*k]=false;
						continue;
					}
					if(r[j][k]==-1)
					{
						end[4*j-1][2+4*k]='|';
						end[4*j+1][2+4*k]='|';
						judge[4*j-2][2+4*k]=false;
						judge[4*j+2][2+4*k]=false;
					}
				}
			for(int j=0;j<n;j++)
				for(int k=0;k<n;k++)
				{
					if(r[j][k]==0)//O[4*j][2+4*k]
					{
						if(j==0&&k==0)
							continue;
						if(j==0&&k==n-1)
							continue;
						if(j==n-1&&k==0)
							continue;
						if(j==n-1&&k==n-1)
							continue;
						int count=0;
						if(4*j-1>=0&&judge[4*j-2][2+4*k])
						{
							end[4*j-1][2+4*k]='|';
							judge[4*j-2][2+4*k]=false;
							count++;
						}
						if(1+4*k>=0&&judge[4*j][4*k])
						{
							end[4*j][1+4*k]='-';
							judge[4*j][4*k]=false;
							count++;
						}
						if(count==2)
							continue;
						if(3+4*k<=4*n&&judge[4*j][4+4*k])
						{
							end[4*j][3+4*k]='-';
							judge[4*j][4+4*k]=false;
							count++;
						}
						if(count==2)
							continue;
						if(4*j+1<4*n-3&&judge[4*j+2][2+4*k])
						{
							end[4*j+1][2+4*k]='|';
							judge[4*j+2][2+4*k]=false;
							count++;
						}
					}
				}
			System.out.println("Case "+i+":\n");
			for(int j=0;j<4*n+3;j++)
				System.out.print("*");
			System.out.println();
			for(int j=0;j<4*n-3;j++)
			{
				System.out.print("*");
				for(int k=0;k<4*n+1;k++)
					System.out.print(end[j][k]);
				System.out.println("*");
			}
			for(int j=0;j<4*n+3;j++)
				System.out.print("*");
			System.out.println("\n");
		}
	}

}

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