基礎訓練 暴力列舉 Safecracker

2021-08-14 21:56:43 字數 816 閱讀 7872

問題簡述:給乙個密碼值,給乙個字串,在字串給定的範圍中找出6個字元使得經過指定的運算(v - w

2+ x

3- y

4+ z

5= target

)之後等於密碼值,輸出這些字元。

問題分析:這個問題用暴力法來解。

大致思路:

兩個函式,乙個來計算公式結果值的,乙個拿來把輸入的字串中的字母拿來列舉計算結果值的,如果符合輸入的target值就輸出。

#include 

#include 

#include 

#include 

using

namespace

std;  

bool

cmp(

char

a,char

b)  

intcalc(

intv,

intw,

intx,

inty,

intz)  

void

solve(

inttarget, string& s)  

}  }  }  

}  }  

printf("no solution\n"

);  

}  int

main()  

return

0;  

}   學到的點:

暴力列舉法。這裡是通過下標的列舉來巢狀for迴圈,從而確定5個公式中的引數的,注意每個引數要不重複,所以每次巢狀中有額外的if語句來限制所取下標。

heu acm基礎訓練 1001

哈爾濱工程大學 online judge acm訓練之分治演算法 原題大意 求a b,之間的數有多少個1,包括a,b.這題典型的分治演算法 舉例說明 以197為例 那麼我們將其分為個位,十位,個位7上有乙個,那麼在190 197上有7 1個 然後整十位上的為18,即197 10 1,然後其權值將變為...

ccf測試基礎訓練

逆時針旋轉90度,通過陣列下標轉換實現 include include int data 1020 1020 int datax 1020 1020 int main for i 0 ifor j 0 jdatax j i data i m j 1 for i 0 ifor j 0 jprintf ...

演算法基礎訓練(二)

1.統計逆序對數 10分 c時間限制 1 毫秒 c記憶體限制 1 kb 題目內容 設a 1.n 是乙個包含n個非負整數的陣列。如果在i j的情況下,有a i a j 則 i,j 就稱為a中的乙個逆序對。要解決的問題是,給出乙個數列,求出這個數列包含多少個逆序對 輸入描述 有多組測試資料,每組資料佔一...