原題
這裡有點暴力的感覺,但是有乙個卡資料,所以這裡加了一點點優化就ac了。
先得到每乙個點的,以此點向左上角』zs『走,右上角『ys』走,左下角『zx』走,右下角『yx』走分別可以走多少個「x」,
再進行判讀以這個點為中心的左右兩邊『l』是否是大於等於本應該有的長度。
這裡有乙個小優化,就是求出最大的『l』,每一次從t和l最小的開始向下列舉,防止t很大,而l很小,這種特殊情況。
#include
using
namespace std;
const
int mx=
2e3+9;
int n,m,yx[mx]
[mx]
,zx[mx]
[mx]
,ys[mx]
[mx]
,zs[mx]
[mx]
,l[mx]
[mx]
;char s[mx]
[mx]
;int
main()
int tt=0;
for(
int i=
1; i<=n ; i++
) tt=
max(l[i]
[j],tt)
;// 求出l的最大}}
for(
int i=
1; i<=n ; i++
)for
(int j=m ; j>=
1; j--)if
( s[i]
[j]==
'x')
zx[i]
[j]=zx[i-1]
[j+1]+
1;for(
int i=n ; i>=
1; i--
)for
(int j=
1; j<=m ; j++)if
( s[i]
[j]==
'x')
ys[i]
[j]=ys[i+1]
[j-1]+
1;for(
int i=n ; i>=
1; i--
)for
(int j=m ; j>=
1; j--)if
( s[i]
[j]==
'x')
zs[i]
[j]=zs[i+1]
[j+1]+
1;int ans=0;
for(
int i=
1; i<=n ; i++
)for
(int j=
1; j<=m ; j++)if
( s[i]
[j]==
'x')
}printf
("%d"
,max
(ans*2-
1,0)
);return0;
}
Wythoff Game(暴力列舉)
wythoff game 時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 最近 zkc同學在學博弈,學到了乙個偉大的博弈問題 威佐夫博弈。相信大家都學過了吧?沒學過?沒問題。我將要為你講述一下這個偉大的博弈問題。有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲...
10 暴力列舉
暴力是一種有著特殊美學意義的事物,對於許多東西,在需要進行計算的時候,將其所有的組合給排列出來也是一種很好的選擇,今天的題目,是乙個希望計算火柴可以擺出的等式的個數 題目如下 挺麻煩的地方在於,每乙個數需要的火柴數其實是沒有規律的,在想要得到乙個等式的話,就要有可以將所有火柴轉換成數字的乙個陣列 於...
暴力列舉 烤雞
現在,hanke 想要知道,如果給你乙個美味程度 n 請輸出這 10 種配料的所有搭配方案。乙個正整數 n,表示美味程度。第一行,方案總數。第二行至結束,10 個數,表示每種配料所放的質量,按字典序排列。如果沒有符合要求的方法,就只要在第一行輸出乙個 0。輸入樣例 輸出樣例 101 1 1 1 1 ...