日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【动态规划】农田个数 (ssl 1633)

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【动态规划】农田个数 (ssl 1633) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

農(nóng)田個(gè)數(shù)農(nóng)田個(gè)數(shù)農(nóng)個(gè)數(shù)

Description

你的老家在河北農(nóng)村。過年時(shí),你回老家去拜年。你家有一片N?M農(nóng)田,將其看成一個(gè)N?M的方格矩陣,有些方格是一片水域。你的農(nóng)村伯伯聽說你是學(xué)計(jì)算機(jī)的,給你出了一道題: 他問你:這片農(nóng)田總共包含了多少個(gè)不存在水域的正方形農(nóng)田。

兩個(gè)正方形農(nóng)田不同必須至少包含下面的兩個(gè)條件中的一條:

邊長不相等

左上角的方格不是同一方格

Input

輸入數(shù)據(jù)第一行為兩個(gè)由空格分開的正整數(shù)N、M(1<=m 第2行到第N+1行每行有M個(gè)數(shù)字(0或1),描述了這一片農(nóng)田。0表示這個(gè)方格為水域,否則為農(nóng)田 (注意:數(shù)字之間沒有空格,而且每行不會(huì)出現(xiàn)空格){\color{Red} (注意:數(shù)字之間沒有空格,而且每行不會(huì)出現(xiàn)空格)}數(shù)會(huì)現(xiàn)

Output

滿足條件的正方形農(nóng)田個(gè)數(shù)。

Sample Input

3 3

110

110

000

Sample Output

5

題目大意:

一個(gè)n*n的板塊上有黑色(0)和白色(1)的正方形方塊,要求沒有黑色(0)的正方形有多少個(gè)

解題方法:

首先我們稱符合條件的正方形稱為A正方形(為了方便),這是一種規(guī)律:首先我們用f[i][j]來表示以(i,j)為右下角的A正方形邊長最大是多少,然后就蹦出了這個(gè):

動(dòng)態(tài)轉(zhuǎn)移方程:

f[i][j]=min(f[i?1][j?1],min(f[i?1][j],f[i][j?1]))+1f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1f[i][j]=min(f[i?1][j?1],min(f[i?1][j],f[i][j?1]))+1

標(biāo)注:

通過這個(gè)規(guī)律,我們求出了以(i,j)為右下角的A正方形邊長最大是多少,而且以這個(gè)方塊為右下角的A正方形的個(gè)數(shù)也是這個(gè),這是因?yàn)檫@個(gè)是邊長最大的,邊長比它小的都存在各一個(gè),所以加一加就是這個(gè)數(shù),我們?cè)侔阉鼈兗釉谝黄?#xff0c;就得出結(jié)果了

#include<cstdio> #include<iostream> using namespace std; int n,m,ans,f[1005][1005]; char x; int main() {scanf("%d%d",&n,&m);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++){x=getchar();//因?yàn)闆]有空格,所以要用字符輸入while (!((x>='0')&&(x<='9'))) x=getchar();//不為數(shù)字就再次輸入if (x==49) f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1;//ASCLL碼中49為“1”,為1時(shí)就套用動(dòng)態(tài)轉(zhuǎn)移方程ans+=f[i][j];//累加}printf("%d",ans);//輸出 }

總結(jié)

以上是生活随笔為你收集整理的【动态规划】农田个数 (ssl 1633)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。