逃离方块:洞穴 章鱼墨水问题

Posted on 2026-02-14 14:33  贾普鲁登  阅读(3)  评论(0)    收藏  举报
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int cz[2000],flag = 0;
 4 void f(int a,int b,int c,int d,int cnt)
 5 {
 6     if(cnt > 20 || flag == 1) return;
 7     if(a == 6 && b == 7 && c == 6 && d == 5)
 8     {
 9         for(int i = 1;i < cnt;i++) cout << cz[i] << " ";
10         flag = 1; 
11         return;
12     }
13     cz[cnt] = 1;
14     f((a+2)%7,(b+1)%8,c%7    ,d%6    ,cnt+1);
15     cz[cnt] = 2;
16     f((a+1)%7,(b+2)%8,(c+1)%7,d%6    ,cnt+1);
17     cz[cnt] = 3;
18     f(a%7    ,(b+1)%8,(c+2)%7,(d+1)%6,cnt+1);
19     cz[cnt] = 4;
20     f(a%7    ,b%8    ,(c+1)%7,(d+2)%6,cnt+1);
21     return; 
22 } 
23 int main()
24 {
25     int a,b,c,d;
26     cin >> a >> b >> c >> d;
27     f(a-1,b-1,c-1,d-1,1);
28     return 0;
29 }