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 rguo at 2007-01-16 16:54:07 on Problem 1088
#include <stdio.h>
#include <string.h>
#define R_MAX 101
#define C_MAX 101
#define H_MAX 11000
typedef struct{
	int high;
	int row;
	int col;
	long value;
}node_t;
node_t node[H_MAX];

node_t two[R_MAX][C_MAX];
int R,C;
void h_sort(void)
{
	int i,j;
	long temp,pos;

	node_t t_node;

	for(i=0;i<R*C-1;i++)
	{
		temp=node[i].value;
		pos=i;
		for(j=i+1;j<R*C;j++){
			if(temp>node[j].value){
				temp=node[j].value;
				pos=j;
			}
		}
		t_node=node[pos];
		node[pos]=node[i];
		node[i]=t_node;
	}
}
void deal_with(void)
{
	int i;
	int max;
	node_t u,l,r,d;
	long r1,c1,v1,h1;
	max=1;
	for(i=0;i<R*C;i++)
	{
		r1=node[i].row;
		c1=node[i].col;
		v1=node[i].value;
		h1=1;
		if(r1>0){/*有up节点*/
			u=two[r1-1][c1];
			if(u.value<v1){
				if(h1<u.high+1){
					h1=u.high+1;
				}
			}
		}
		if(r1<R-1){/*有down节点*/
			d=two[r1+1][c1];
			if(d.value<v1){
				if(h1<d.high+1){
					h1=d.high+1;
				}
			}
		}
		if(c1>0){/*有left节点*/
			l=two[r1][c1-1];
			if(l.value<v1){
				if(h1<l.high+1){
					h1=l.high+1;
				}
			}
		}
		if(c1<C-1){/*有right节点*/
			r=two[r1][c1+1];
			if(r.value<v1){
				if(h1<r.high+1){
					h1=r.high+1;
				}
			}
		}
		two[r1][c1].high=h1;
		if(max<h1)max=h1;
	}
	printf("%d\n",max);
}
int main(int argc, char* argv[])
{
	int i,j;
	scanf("%d %d",&R,&C);
	for(i=0;i<R;i++){
		for(j=0;j<C;j++){
			scanf("%d",&node[i*R+j].value);
			node[i*R+j].row=i;
			node[i*R+j].col=j;
			two[i][j].value=node[i*R+j].value;
			two[i][j].high=1;
		}
	}
	h_sort();
	deal_with();
	return 0;
}

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