題面: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,遞迴的構...