解法:每當輸入一張牌,就判斷能不能按照題目所給規則移動到前面,先判斷能否移到前面第三堆,不能的話,再判斷能否移到前一堆
只要讀懂了題意,,就是很簡單的一道題目,,一開始讀錯了題意,改了很長時間,看來讀題能力需要加強
# include # include # include # include using namespace std;
typedef pairnode;
node pai;
dequedui[53];
void output(), solve(), dfs(int);
bool ok;
int cnt, t;
int main(void)
if (cnt == 52) output();
}return 0;
}void solve()
}void dfs(int cur) if (cnt1 == 3)
if (okk)
}while (t2--) if (cnt2 == 1)
if (okk)
}}void output()
習題6 9 UVA 127 紙牌遊戲
一道學校oj做的題目,當時卡了兩三天。簡單說下題意 52疊撲克,從左到右發現乙個牌與他的前面3張或者1張 花色或者點數相同時,就把這張牌放到那上面,參與比較的只能是每一疊的第一章!思路 我建立了vector 套了乙個stack stack裡面放了struct,先輸入。1.在輸入方面,最好寫個輸入函式...
12 7 比賽題解
這個題的意思就是對於給定的數x,找到兩個數a,b滿足以下條件 可以看出a,b是不唯一的,所以這道題是spj,那我們只要找到最好找的就好了。a b 最大的時候,就是a b x對吧,正好這時候也滿足題目中的其它要求。如果x x 都不滿足大於 x 這個條件的話,肯定就無解了,所以我們只需要判斷這個條件就好...
127 單詞接龍
思路和126差不多,區別在於只用bfs,每次訪問一層,用乙個map來儲存訪問過的結點以及與起點的距離,避免重複訪問。最後輸出map中的終點項即可 import queue class solution def ladderlength self,beginword,endword,wordlist ...