題意:
給乙個迷宮,求是否可從s走到g,迷宮中有門和鑰匙,要獲得相應種類的所有鑰匙才能開啟該種門(比如獲得所有a才能開啟a)。
分析:列舉開啟門的順序,搜路徑即可。
**://poj 2157
//sep9
#include#includeusing namespace std;
const int maxn=32;
char maze[maxn][maxn];
char g[maxn][maxn];
char order[6];
int key_num[256];
int n,m,start_i,start_j;
int vis[maxn][maxn];
int key_cnt;
void dfs(int i,int j,char ch)
{ if(vis[i][j]==1)
return ;
if(g[i][j]>='a'&&g[i][j]<='z'&&g[i][j]!='s') return ;
vis[i][j]=1;
if(g[i][j]==ch) ++key_cnt;
if(j>0) dfs(i,j-1,ch);
if(j0) dfs(i-1,j,ch);
if(i='a'&&g[i][j]<='z'&&g[i][j]!='s') return false;
if(j>0&&find_path(i,j-1)) return true;
if(j0&&find_path(i-1,j)) return true;
if(i
POJ 2157 Maze 解題報告
題目大意是給你一張n m的迷宮,大寫字母a e代表的是門,小寫字母a e對應的是其大寫字母門的鑰匙,如果一扇門在一張圖里有多個鑰匙,那麼必須都找到這些鑰匙才能開啟這扇門,x代表是牆壁,代表此處為空可以行走,詢問是否可以從s走到g。剛開始思路想錯了,想著乙個點最多被訪問4次,然後就自信的寫完了,手出了...
POJ 1018 列舉 貪心
題意 有n件商品,每件商品有m個製造商,每個製造商製造的商品有不同的 頻寬和 每件商品必須選乙個製造商,最後的頻寬是所有頻寬中的最小值,價值是所有商品的總 目的是使b p最大,輸出最大的b p的值。思路 由於資料範圍比較小,所以可以列舉。可以求出所有製造商的商品的最大頻寬和最小頻寬,然後列舉在兩者之...
poj 2002 列舉 雜湊
給定n個點,求出這些點一共可以構成多少個正方形。sample input 4 1 00 1 1 10 0 90 0 1 02 0 0 21 2 2 20 1 1 12 1 4 2 5 3 70 0 5 20sample output 1 61可列方程 可以得出 知道兩點求出其餘兩點 x3 node ...