時間限制:1000 ms | 記憶體限制:65535 kb
難度:3
描述
話說有這麼乙個圖形,只有兩種符號組成(『+』或者『-』),圖形的最上層有n個符號,往下個數依次減一,形成倒置的金字塔形狀,除第一層外(第一層為所有可能情況),每層形狀都由上層決定,相鄰的符號相同,則下層的符號為『+』,反之,為『-』;如下圖所示(n = 3 時的兩種情況):
如果圖中的兩種符號個數相同,那這個三角形就是幸運三角形,如上圖
中的圖(2).
輸入
有多組測試資料(少於20組)。
每行含乙個整數n(0輸出
輸出相應的幸運三角形個數。
樣例輸入
3樣例輸出4
4**原創上傳者6
acm_楊延璽
解題思路:我是用最笨的方法啦!打表。把題目中倒著的三角形順著看。當前位置的放置只跟當前位置的左邊的和上邊的左邊的決定,因此只要列舉每一層最左邊的符號就可以了。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9view code#define ll long long
10using
namespace
std;
11bool tri[21][21
];12
int ans[21],cnt = 0;13
void dfs(int
n) 22
if((cnt<<1) == (n*(n+1)>>1)) ans[n]++;
23 dfs(n+1
);24
for(int i = 0; i < n; i++)
25 cnt -=tri[n][i];26}
27}28int
main()
nyoj491幸運三角形
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 話說有這麼乙個圖形,只有兩種符號組成 或者 圖形的最上層有n個符號,往下個數依次減一,形成倒置的金字塔形狀,除第一層外 第一層為所有可能情況 每層形狀都由上層決定,相鄰的符號相同,則下層的符號為 反之,為 如下圖所示 n 3 時...
NYOJ491幸運三角形
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 話說有這麼乙個圖形,只有兩種符號組成 或者 圖形的最上層有n個符號,往下個數依次減一,形成倒置的金字塔形狀,除第一層外 第一層為所有可能情況 每層形狀都由上層決定,相鄰的符號相同,則下層的符號為 反之,為 如下圖所示 n 3 時...
nyoj 491 幸運三角形(dfs)
時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述話說有這麼乙個圖形,只有兩種符號組成 或者 圖形的最上層有n個符號,往下個數依次減一,形成倒置的金字塔形狀,除第一層外 第一層為所有可能情況 每層形狀都由上層決定,相鄰的符號相同,則下層的符號為 反之,為 如下圖所示 n 3 時的...