這次的題目有些複雜, 題目連線後的 pipes 檢視原題, 在此就不多贅述了.
這個題最初用搜尋做的, **特別長, 很多有很多的餘綴. 但是後來發現其實都是一些特判
一共說是有6種管子, 但實際上只有兩大型別, 一種直管, 一種彎管.
如果是直管, 那你只能到達當前行的下乙個位置. 如果是彎管, 你只能到達下一行的下乙個位置.
因此我們得出結論, 無論經過什麼型別的管子, 一定都會向前走一格, 至於是否換行, 只需要看是否為彎管.
當我們遇到彎管需要換行時, 為了避免換行後仍有路可走, 我們應判斷另一行的該位置是否同樣為彎管接應水流, 如果是直管則下一步將被堵死, 無路可走.
假如我們在(1, 2)處, 此處為彎管, 我們通過此管到達(2, 3)處, 若此時(2,3)處為直管, 則只能豎著放置, 那下一步將流出圖外, 是不可行的.(難理解可以畫圖幫助理解)
#include
#define ll long long
using
namespace std;
string a[2]
;int n;
//存圖
void
fact()
}if(h ==
1) cout <<
"yes"
<< endl;
else cout <<
"no"
<< endl;
}int
main
(void
)return0;
}
關於整數x^1:
如果x為奇數, 則 x^1 = x - 1;
如果x為偶數, 則 x^1 = x + 1;
即: 整數x^1的結果為 奇數-1 偶數+1;
因此我們可以通過把0異或1來得到1, 把1異或1來得到0
例題1 合法的括號串(內含stack總結)
乙個合法的括號串,是指只包含括號的串,如果滿足如下條件 1 這四對括號是合法的 2 如果r是合法括號串,則 r 也是 3 如果r,s是合法括號串,則rs也是 所以 是合法的括號串,而 就不是。輸入第一行正整數t 10 n 100 表示有多少組測試資料。後面有t行,每行乙個只包含8種括號符號的括號串。...
妙用 n n 1 位運算
原理 將n的二進位制表示中的最低位為1的改為0 include include using namespace std int main cout 前幾天18級acm訓練賽的第一題就是求1的個數,常規做法按位與t了。上面這種做法好像很快,但是那道題也t,畢竟思路很好總結下來。大佬用lowbit做居然...
妙用QTP F1幫助功能
1 焦點功能引導 之前說過f1對於新手來說是個非常有利的工具,它可以引導使用者熟悉qtp的每項功能。當你的手指按下f1鍵的瞬間,f1就會被啟用並且啟用的內容會與當前的焦點自動匹配。這樣的一種引導模式對於新手的學習來說,是非常便捷的。技術指導 切換焦點後點選f1。焦點切換到datatable,如下圖所...