農民約翰在一片邊長是n (2 <= n <= 250)英里的正方形牧場上放牧他的奶牛。(因為一些原因,他的奶牛只在正方形的牧場上吃草。)遺憾的是,他的奶牛已經毀壞一些土地。( 一些1平方英里的正方形)
農民約翰需要統計那些可以放牧奶牛的正方形牧場(至少是2x2的,在這些較大的正方形中沒有乙個點是被破壞的,也就是說,所有的點都是「1」)。
你的工作要在被**的資料組裡面統計所有不同的正方形放牧區域(>=2x2)的個數。當然,放牧區域可能是重疊。
第 1 行:n,牧區的邊長。
第 2 到 n+1 行:n個沒有空格分開的字元。0 表示 "那乙個區段被毀壞了";1 表示 " 準備好被吃"。
輸出那些存在的正方形的邊長和個數,一種一行。
輸入 #1複製
6101111
001111
111111
001111
101101
111001
輸出 #1複製
2 103 44 1
題目翻譯來自nocow。
usaco training section 3.3
我就按部就班的寫了,結果是錯的。很奇怪啊?後來才知道啊,原來還要加上字首和。
的確是的。3*3裡面就肯定有2*2的。所以要加字首和(大概就是這個亞子哦)
#include#include#include
#include
#include
#include
#include
using
namespace
std;
const
int n=252
;int
x,f[n][n],a[n],n,b[n],y;
char
s[n];
intmain()
}for(int i=n;i>=1;i--)
a[i-1]+=a[i];
for(int i=2;i<=n;i++)
if(a[i]!=0) printf("
%d %d\n
",i,a[i]);
return0;
}
洛谷 2733 家的範圍
在乙個邊長為n的正方形矩陣中,尋找邊長為2 n的全1矩陣的個數按邊長找,每次的g i j bool 表示當前邊長下起點為i,j的矩陣是否符合要求 若g i j g i 1 j g i j 1 g i 1 j 1 均為true,則新的g i j 也為true,否則為false 我自己想出來的o n 3...
洛谷 P2733 家的範圍 二維DP
農民約翰在一片邊長是n 2 n 250 英里的正方形牧場上放牧他的奶牛。因為一些原因,他的奶牛只在正方形的牧場上吃草。遺憾的是,他的奶牛已經毀壞一些土地。一些1平方英里的正方形 農民約翰需要統計那些可以放牧奶牛的正方形牧場 至少是2x2的,在這些較大的正方形中沒有乙個點是被破壞的,也就是說,所有的點...
luoguP2733 家的範圍
農民約翰在一片邊長是n 2 n 250 英里的正方形牧場上放牧他的奶牛。因為一些原因,他的奶牛只在正方形的牧場上吃草。遺憾的是,他的奶牛已經毀壞一些土地。一些1平方英里的正方形 農民約翰需要統計那些可以放牧奶牛的正方形牧場 至少是2x2的,在這些較大的正方形中沒有乙個點是被破壞的,也就是說,所有的點...