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

哪位帮忙看一下,在我机器上好着,也做到了全是负数的情况,但是就是WA,不知为什么?

Posted by cfdream at 2007-04-18 00:32:23 on Problem 1050
#include<iostream>
using namespace std;
int plus(int **arr,int lrud[4],int sum[4],int rectangle[4])
{
	int rows=rectangle[3]-rectangle[2]+1;
	int cols=rectangle[1]-rectangle[0]+1;
	for(int i=0;i<4;i++)
	{
		if(i==1||i==0)
		{
			int colth=lrud[i];
			for(int m=rectangle[2],j=0;j<rows;j++)
				sum[i]+=arr[m+j][colth];
		}else{
			int rowth=lrud[i];
			for(int j=0,m=rectangle[0];j<cols;j++)
				sum[i]+=arr[rowth][m+j];
		}
	}
	return 1;
}
void main()
{
	int N;
	cin>>N;
	if(N<0||N>100)
		exit(-1);
	int sign=0,negative=-128;
	int **arr=new int *[N];
	for(int i=0;i<N;i++)
	{
		arr[i]=new int[N];
		for(int j=0;j<N;j++){
			cin>>arr[i][j];
			int temp=arr[i][j];
			if(temp<-127||temp>127)
				exit(-1);
			if(temp>=0)
				sign=1;
			else if(temp>negative)
				negative=temp;
		}
	}
	if(sign==0)
		cout<<negative;
	else
	{
		int lrud[4]={0,N-1,0,N-1},sum[4]={0,0,0,0};
		int rectangle[4]={0,N-1,0,N-1};
		int layer=1;
		while((lrud[0]!=lrud[1]&&lrud[1]>lrud[0])||(lrud[2]!=lrud[3]&&lrud[3]>lrud[2]))
		{
			plus(arr,lrud,sum,rectangle);
			int temp=0,k=-1;
			for(int i=0;i<4;i++)
				if(sum[i]<temp)
				{
					temp=sum[i];
					k=i;
				}
			if(temp<0)
			{	
				for(int j=0;j<4;j++)
					sum[j]=0;
				if(k==0||k==2)
					lrud[k]++;
				else lrud[k]--;
				rectangle[k]=lrud[k];
			}else{
				for(int j=0;j<4;j++)
				{
					if(j==0||j==2)
						lrud[j]++;
					else lrud[j]--;
				}
			}//else
		}
		int all=0;
		for(i=rectangle[2];i<=rectangle[3];i++)
			for(int j=rectangle[0];j<=rectangle[1];j++)	
				all+=arr[i][j];
		cout<<all<<endl;
	}
}

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