題目大意:判斷能否從黑格仔走到白格仔,黑白格仔交替出現,左下角為黑,只能右上走。輸入格仔邊長s,起始位置(x,y),每次移動的距離dx,dy.輸出結果。
思路:直接暴力。設走了k步,如果((k*dx+x)/s + (k*dy+y)/s ) %2 == 1,且x%s!=0,y%s!=0,則可以到達白色。另外,當k=s時,顯然有相當於回到了起始位置,如果沒到白的顯然到不了。
#include #include #include #include #include #include using namespace std;
int main()
long long cur_x , cur_y ;
cur_x = x / s + 1;
cur_y = y / s + 1;
int flag = 0;
int sum = 0;
while(sum <= 2 * s) //結束條件至關重要,找遍所有的可能沒有找到 ,2*s步進入下乙個迴圈
x += dx;
y += dy;
cur_x = x / s + 1;
cur_y = y / s + 1;
sum ++ ;
}if(flag) printf("after %d jumps the flea lands at (%lld, %lld).\n" , sum , x , y);
else printf("the flea cannot escape from black squares.\n");
}}
演算法之暴力列舉(窮舉)
列舉法的基本思想是根據題目的部分條件確定答案的大致範圍,並在次範圍內對所有可能的情況逐一驗證,直到全部情況驗證完畢。若某個情況驗證符合題目的全部條件,則為本問題的乙個解 若全部情況驗證後都不符合題目的全部條件,則本題無解。也稱為窮舉法。題目 某人有n袋金幣,其中第i袋內金幣的數量是ai。現在他決定選...
啊哈演算法之暴力列舉
列舉演算法又叫做窮舉演算法。將數字1 9分別填入9個 中,每個數字只能使用一次使得等式成立。暴力窮舉法 include include int main printf total d n total 2 system pause return 0 標記法 用乙個book陣列來解決互不相等的問題。in...
Burpsuite之暴力破解
burpsuite暴力破解步驟 抓包匯入intruder 清空引數 新增所選引數 新增字典 爆破暴力破解四種方式的區別 1 sniper 乙個字典,兩個引數,先匹配第一項,再匹配第二項 2 battering ram 乙個字典,兩個引數,且兩個引數每次的匹配值相同 3 pitch fork 兩個字典...