程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> POJ 2019 Cornfields (RMQ?反正我暴力了)

POJ 2019 Cornfields (RMQ?反正我暴力了)

編輯:C++入門知識

POJ 2019 Cornfields (RMQ?反正我暴力了)


【題意簡述】:題目告訴我們很多數據,有N,表示這個農場的大小N*N,還有B,表示我們要測量的那個小正方形的大小B*B,還有K,代表我們要在這個N*N的農場上測幾組數據。要測量的那個小正方形的左上角的坐標給你了,x和y。現在讓我們求出在這個B*B的小正方形中最大的數值減去最小的數值結果是多少

【分析】:這本應是個二維的RMQ問題:

 

 

接下來是我惡心 暴力的代碼:

 

 

// 368K  891Ms  險過!! 
// 應該是用二維的RMQ,但是,暴力也過了 
#include
#include
using namespace std;

int farm[251][251];
#define Max 251
#define Min 0

int N,B,K;
int x,y;

int main()
{
	scanf(%d%d%d,&N,&B,&K);
	for(int i= 1 ;i<=N;i++)
	{
		for(int j =1;j<=N;j++)
		{
			scanf(%d,&farm[i][j]);
		}
	}
	while(K--)
	{
	
	scanf(%d%d,&x,&y);
	int max1 = Min;
	int min1 = Max;
	for(int i = x;imax1)
				max1 = farm[i][j];
			if(farm[i][j]

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved