貓和老鼠 藍橋杯/手速/暴力練習賽
【題目描述】
貓和老鼠在10*10 的方格中運動,例如:
*...*.....
......*...
...*...*..
..........
...*.c....
*.....*...
...*......
..m......*
...*.*....
.*.*......
c=貓(cat)
m=老鼠(mouse)
*=障礙物
.=空地
貓和老鼠每秒中走一格,如果在某一秒末他們在同一格中,我們稱他們「相遇」。
障礙物上去或者出界,就用1 秒的時間做乙個右轉90 度。一開始他們都面向北方。
程式設計計算多少秒以後他們相遇。
【輸入格式】
10 行,格式如上
【輸出格式】
相遇時間t。如果無解,輸出-1。
【樣例輸入】
*...*.....
......*...
...*...*..
..........
...*.c....
*.....*...
...*......
..m......*
...*.*....
.*.*......
/*
思路:如果貓和老鼠不相遇,那麼一定是貓在某乙個格仔沿著某乙個方向重複走了2次以上並且
老鼠也是這樣。
*/ #include#include#include#includeusing namespace std;
char mp[15][15];
const int left_dir = 1;
const int right_dir = 2;
const int up = 3;
const int down = 4;
const int mouse = 1;
const int cat = 0;
struct node
bool flag[15][15][5];//記錄當前格仔在某乙個方向上是否走過
void init(int x, int y)
};node nd[2];
int cnt = 0;
bool move(int i)
if(mp[x][y] != '*') else
if(!nd[i].flag[x][y][nd[i].dir]) else return false;
}void test()
if(flag) printf("%d\n", cnt);
else printf("-1\n");
}int main()
else if(mp[i][j] == 'm')
}getchar();
}test();
return 0;}/*
*...*.....
......*...
...*...*..
..........
...*.c....
*.....*...
...*......
..m......*
...*.*....
.*.*......
*/
貓和老鼠 藍橋杯 手速 暴力練習賽(暴力搜尋)
貓和老鼠 藍橋杯 手速 暴力練習賽 題目描述 貓和老鼠在10 10 的方格中運動,例如 c.m.c 貓 cat m 老鼠 mouse 障礙物 空地 貓和老鼠每秒中走一格,如果在某一秒末他們在同一格中,我們稱他們 相遇 障礙物上去或者出界,就用1 秒的時間做乙個右轉90 度。一開始他們都面向北方。程式...
藍橋杯 乘法算式 暴力
觀察下面的算式 它表示 兩個兩位數字相乘,結果是3位數。其中的星號 代表任意的數字,可以相同,也可以不同,只要不是在首位的就可以是0。當然,滿足這個要求的算式很多,但我們還有如下的要求 所有星號所代表的數字全都是奇數。滿足這個要求的算式就不多了。比如 13 x 15 195 題目的任務是 編寫程式,...
藍橋杯 獎券數目 暴力
題目 獎券數目 有些人很迷信數字,比如帶 4 的數字,認為和 死 諧音,就覺得不吉利。雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某 活動的獎券號碼是5位數 10000 99999 要求其中不要出現帶 4 的號碼,主辦單位請你計算一下,如果任何兩張獎券不重號,最多可發出獎券多少張。請提交該數...