hd1015題,據說用5個for迴圈暴力也行,這裡我用了深度優先搜尋(dfs),主要想練習一下深搜,可能未來的一段時間內都會刷深搜的題目。廢話不說,來看看題目。
這道題的大體意思就是給你乙個target值和一串字串(大寫字母),各字母在字母表中的順序可以代表其值,例如a的值就是1,b的值是2,z的值是26.....然後給出乙個方程式:v - w^2 + x^3 - y^4 + z^5 = target,其中的v,w,x,y,z分別用給出的各字母的值來替換,最後輸出滿足方程式的字母順序,當然可能出現多個滿足方程的字母序列,如果出現這種情況,那麼最後輸出字母表中最靠後的字母開頭的序列。主體思路就是進行dfs,把它們全都遍歷一遍,選出滿足方程的序列,要注意的一點就是當出現多個序列時,如何才能選擇字母較靠後的字母開頭的序列表,我這裡做的處理就是先進行降序排列,搜尋時從大到小進行搜尋,最後得到的序列就能符合題意了。
**如下:(用了g++編譯)
#include#include#include
#include
using
namespace
std;
int cmp( const
void *a,const
void *b)
inttarget,k,len,w;
int b[26],c[26],mark[26],t[26
];char a[27
];void dfs(int
k)
} else
if(k<5) }
}}intmain( )
cout
<} }
return0;
}
10 15解題報告
測 100 裸的spfa 裸得連讀入優化都不能打 表示不想打 哪怕只要複製 測 70 在考試的時候推出了只需要從前往後一步一步推而不需要考慮順序所以做出暴力 正解應該是用乙個類似於字首和的玩意讓區間的取反時間變為o 1 include include include include include ...
ACM題解報告 HD1548
把最近刷的題都做一下總結。題目大意 電梯只能進行 公升 和 降 每層都有自己對應的 電梯數 當前層數 電梯數就是對應可到達的層數,但是不能到達不存在的層數,如當前的層數為1,電梯數為3,則摁 up 可到達第 1 3 層,而摁下 down 卻不起作用,因為 2層不存在。給出起始層數和需要到達的目標層數...
ACM題解報告 HD1253
該題目是乙個比較經典立方體迷宮問題,要求在給定的時間內從始點 0,0,0 逃到出口 a 1,b 1,c 1 這裡我採用的是bfs 寬度優先搜尋 如下 includeusing namespace std int map 55 55 55 a,b,c,times,visit 55 55 55 int ...