洛谷恐怖的社會老師題解

2021-10-03 11:16:22 字數 1868 閱讀 9523

題面:mx是乙個7年級的學生,這天老師手持一把屠龍寶刀和一張等高線地形圖,把刀插在mx的桌子上,逼迫mx告訴他 這張地圖上有多少高原,平原,盆地,山地。 請你設定乙個程式,救救mx。

輸入方式:地圖的長、寬 乙個二維陣列,上面有一些數值,表示高度,數字越大越高,山地和高原的高度在4及以上,完全高於四周(只包括東西南北)的是山地,多塊同等是高原,盆地無高度限制,只要一塊或多塊的東西南北被包圍就算是盆地,平原一定小於4且不是盆地即可 (地圖之外全為0)(地圖以內沒有0)(地圖之外全為0)(地圖以內沒有0)

輸出方式:高原、平原、山地、盆地對應個數

input:

51 1 1 1 1

1 1 1 1 1

1 1 1 1 1

8 8 1 8 8

8 9 8 1 8

output:22

10

/***********************

創作人:朱巨集軒

***********************/

#include

//神奇萬能頭

using

namespace std;

int pinyuan=0;

//英語不好,就用一下拼音

int gaoyuan=0;

int shandi=0;

int pendi=0;

int n;

int f[11]

[11];

bool gao[11]

[11]=

;//準備好暴力

bool pin[11]

[11]=

;bool sousuo[11]

[11]=

;bool

shan

(int i,

int j)

//一大堆判斷函式

bool

pen(

int i,

int j)

voidgy(

int i,

int j,

int sum)

if(f[i-1]

[j]==f[i]

[j]&&

!gao[i-1]

[j])

if(f[i]

[j+1

]==f[i]

[j]&&

!gao[i]

[j+1])

if(f[i]

[j-1

]==f[i]

[j]&&

!gao[i]

[j-1])

if(!flag)

//不能繼續了

if(sum>1)

//sum==1時是山地,可惜我在主程式中就搞好了

gaoyuan++;}

voidpy(

int i,

int j)

if(f[i-1]

[j]==f[i]

[j]&&

!pin[i-1]

[j])

if(f[i]

[j+1

]==f[i]

[j]&&

!pin[i]

[j+1])

if(f[i]

[j-1

]==f[i]

[j]&&

!pin[i]

[j-1])

if(!flag)pinyuan++;}

intmain()

if(pen(i,j))}

for(

int i=

1;i<=n;i++

)for

(int j=

1;j<=n;j++)}

cout

}

洛谷 比賽題解

這套題的題目質量很高,寫一發題解。t1 cjwssb最近在物理學科上遇到了難題,他不會計算乙個電路中的總電阻,現在他找到了你,希望你能幫助他。這個電路有如下限定 1 電路只由導線以及電阻為一歐的電阻組成 2 保證電路從左到右連線,即每個電阻或導線的兩個連線點xy保證x 我們可以用dfs求解,這個電路...

洛谷 1196 題解

有30000 30000 3000 0個佇列,初始每個佇列裡有元素1,2 3 30000 1,2,3 cdots 30000 1,2,3 3000 0。兩種指令 1.m mmi iij jj 編號為i ii的佇列整個接到jjj上 2.c cci iij jj 問編號為i ii,j jj的兩個點之間 ...

洛谷1087題解

problem description 我們可以把由 0 和 1 組成的字串分為三類 全 0 串稱為b串,全 1 串稱為i串,即含有 0 又含有 1 的串則稱為f串。fbi樹是一種二叉樹,它的結點型別也包括f結點 b結點和i結點三種。由乙個長度為2 n的 01 串s可以構造出一棵fbi樹t,遞迴的構...