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

Re:请教用什么编译器?

Posted by dlxxxt at 2015-01-11 10:56:16
In Reply To:请教用什么编译器? Posted by:dlxxxt at 2015-01-11 10:52:31
#include <stdio.h>

typedef struct SnowFiled
{
	int hight;
	int x;
	int y;
}SnowFiled;

void QuickSort(SnowFiled [],int);
void Search(int,int,int*,int,int,int);

int steptotal = 0;

main()
{
	int xnum,ynum,num = 0,step;
	struct SnowFiled snow[10000];
	int matrix[100][100];
	int *p;
	p = &matrix[0][0];
	int i,j;
	scanf("%d%d",&xnum,&ynum);
	for(i=0;i<xnum;i++)
		for(j=0;j<ynum;j++)
		{
			scanf("%d",&matrix[i][j]);
			snow[num].x = i;
			snow[num].y = j;
			snow[num].hight = matrix[i][j];
			num++;
		}
	QuickSort(snow,num);		
	for(i=0;snow[i].hight-snow[num-1].hight>steptotal-1;i++)
	{
		Search(snow[i].x,snow[i].y,p,xnum,ynum,1);
	}
	printf("%d",steptotal);
}

void QuickSort(SnowFiled snow[],int num)
{
	int i = 0,j = num - 1;
	SnowFiled val = snow[0];
	if(num>1)
	{
		while(i<j)
		{
			for(;j>i;j--)
			{
				if(snow[j].hight>val.hight)
				{
					snow[i] = snow[j];
					i++;
					break;
				}
			}
			for(;i<j;i++)
			{
				if(snow[i].hight<val.hight)
				{
					snow[j] = snow[i];
					j--;
					break;
				}
			}
		}
		snow[i] = val;
		QuickSort(snow,i);
		QuickSort(snow+i+1,num-i-1);
	}
}

void Search(int x,int y,int *p,int xnum,int ynum,int step)
{
	int dir[4][2] = {0,-1,0,1,1,0,-1,0};
	int i;
	if(steptotal<step)
	{
		steptotal = step;
	}
	for(i=0;i<4;i++)
	{
		if((x+dir[i][0])>=0&&(x+dir[i][0])<xnum&&(y+dir[i][1])>=0&&(y+dir[i][1])<ynum&&*(p+100*x+y)>*(p+100*(x+dir[i][0])+y+dir[i][1]))
		{
			Search(x+dir[i][0],y+dir[i][1],p,xnum,ynum,step+1);
		}
	}
}




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