|
@@ -0,0 +1,35 @@
|
|
|
+#include <cstdio>
|
|
|
+
|
|
|
+using namespace std;
|
|
|
+
|
|
|
+const int N = 100;
|
|
|
+const int M = 9;
|
|
|
+const int S = 5;
|
|
|
+
|
|
|
+char map[N][N + 1];
|
|
|
+
|
|
|
+bool flag[N][N][1 << M][S];
|
|
|
+
|
|
|
+struct Pos {
|
|
|
+ short r;
|
|
|
+ short c;
|
|
|
+ short key;
|
|
|
+ bool kill;
|
|
|
+ int t;
|
|
|
+ Pos(short r, short c, short key, bool kill, int t)
|
|
|
+ : r(r), c(c), key(key), kill(kill), t(t) {}
|
|
|
+ bool operator==(const Pos &that) const {
|
|
|
+ return this->r == that.r && this->c == that.c && this->key == that.key;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+int main() {
|
|
|
+ int n, m;
|
|
|
+ while (scanf("%d %d", &n, &m) != EOF) {
|
|
|
+ if (n == 0 && m == 0) break;
|
|
|
+ for (int i = 0; i < n; i++) {
|
|
|
+ scanf("%s", map[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+}
|