2017藍橋杯A組賽題解析
阿新 • • 發佈:2019-02-07
1.迷宮
X星球的一處迷宮遊樂場建在某個小山坡上。 它是由10x10相互連通的小房間組成的。 房間的地板上寫著一個很大的字母。 我們假設玩家是面朝上坡的方向站立,則: L表示走到左邊的房間, R表示走到右邊的房間, U表示走到上坡方向的房間, D表示走到下坡方向的房間。 X星球的居民有點懶,不願意費力思考。 他們更喜歡玩運氣類的遊戲。這個遊戲也是如此! 開始的時候,直升機把100名玩家放入一個個小房間內。 玩家一定要按照地上的字母移動。 迷宮地圖如下:
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
#include <iostream>
#include <string.h>
using namespace std;
int vis[20][20];
char mmap[20][20];
int countt = 0;
int find_(int i, int j){
while(1){
if(i < 0 || i > 9 || j < 0 || j > 9 ){
countt++;
break;
}
if(vis[i][j]) {
break ;
}
vis[i][j] = 1;
switch(mmap[i][j]){
case 'U': i--;break;
case 'L': j--;break;
case 'R': j++;break;
case 'D': i++;break;
default: break;
}
}
return 0;
}
int main(){
freopen("A.txt", "r", stdin);
for (int i = 0; i <10; i++){
for(int j = 0; j < 10; j++){
cin >> mmap[i][j];
}
}
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
memset(vis, 0, sizeof(vis));
find_(i, j);
}
}
cout << countt << endl;
}
2.青蛙跳
3.2*2魔方 前下橙上後黃左右旅
4.6*6劃分中心對稱
5.abc字串個數
f(int a, int b, int c, int n){
if(a < 0 || b < 0 || c < 0) return 0;
if(n == 0) return 1;
return f(a-1, b, c, n-1) + f(a, b-1, c, n-1) + f(a, b, c-1, n-1);
}
6.字串匹配,問個數
for(i:1 to len)
for(j:1 to len)
if(s1[i-1] == s2[j-1])
a[i][j] = a[i-1][j-1] + 1;
7.正則表示式
8.包子個數
9.分巧克力 10000 10000
10.重疊矩形陰影面積