目录
活字飞花
最强大脑同款项目
1,规则
n*n(n>=6)的正方形格子,每次可以交换相邻2行,或者相邻2列,或者相邻2个十字,复原所有格子的位置。
考虑到边界情况,实际上相邻十字这个操作有3种情况:
2,通解公式
其实很容易就能找到,单独交换第0行第1个和第4个格子的方法。
只需要用上图中的红色十字(5v5)减去黄色十字(4v4)自然就能得到1v1单独交换的方法。
3,求通解的算法
数据结构:
int n;//行列数
struct changeOpt{
int r1;
int c1;
int r2;
int c2;
};
3个核心算法:
//opt的轴对称
changeOpt turn(changeOpt opt)
{
return {opt.c1,opt.r1,opt.c2,opt.r2};
}
//算法的轴对称算法
vector<changeOpt> turn(vector<changeOpt>v)
{
vector<changeOpt>ans;
for(auto vi:v)ans.push_back(turn(vi));
return ans;
}
//交换最后一行第1个和第4个格子
vector<changeOpt> alg1()
{
vector<changeOpt>ans;
ans.push_back({n-2,1,n-2,4});
ans.push_back({n-2,1,n-1,1});
ans.push_back({n-2,1,n-3,1});
ans.push_back({n-1,1,n-1,4});
ans.push_back({n-2,1,n-3,1});
ans.push_back({n-2,1,n-1,1});
return ans;
}
//交换第i行和第j行
vector<changeOpt> alg2(int i,int j)
{
if(i>j)i^=j^=i^=j;
vector<changeOpt>ans;
for(int x=i;x<j;x++)ans.push_back({x,1,x+1,1});
for(int x=j-1;x>i;x--)ans.push_back({x,1,x-1,1});
return ans;
}
3个算法分别是轴对称算法、交换2个格子的算法、交换2行算法。
其中轴对称算法专门用来利用一个算法生成另外一个算法,所以可以称之为二阶算法,或者元算法。
利用3个核心算法即可层层递进,推导出另外6个算法:
//交换第i列和第j列
vector<changeOpt> alg3(int i,int j)
{
return turn(alg2(i,j));
}
//交换第k行第1个和第4个格子
vector<changeOpt> alg4(int k)
{
vector<changeOpt>ans=alg2(k,n-1);
vector<changeOpt>ans2=alg1();
for(auto v:ans2)ans.push_back(v);
ans2=alg2(k,n-1);
for(auto v:ans2)ans.push_back(v);
return ans;
}
//交换第k行第i个和第j个格子
vector<changeOpt> alg5(int k,int i,int j)
{
vector<changeOpt> ans;
if(i==j)return ans;
if(i>j)i^=j^=i^=j;
if(j<2){
vector<changeOpt>ans2=alg3(j,4);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(i,1);
for(auto v:ans2)ans.push_back(v);
ans2=alg4(k);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(i,1);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(j,4);
for(auto v:ans2)ans.push_back(v);
}else{
vector<changeOpt>ans2=alg3(i,1);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(j,4);
for(auto v:ans2)ans.push_back(v);
ans2=alg4(k);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(j,4);
for(auto v:ans2)ans.push_back(v);
ans2=alg3(i,1);
for(auto v:ans2)ans.push_back(v);
}
return ans;
}
//交换第k列第i个和第j个格子
vector<changeOpt> alg6(int k,int i,int j)
{
return turn(alg5(k,i,j));
}
//交换第k1行第i个格子和第k2行第j个格子
vector<changeOpt> alg7(int k1,int i,int k2,int j)
{
if(k1==k2)return alg5(k1,i,j);
if(i==j)return alg6(i,k1,k2);
vector<changeOpt> ans = alg5(k1,i,j);
vector<changeOpt> ans2 = alg6(j,k1,k2);
for(auto v:ans2)ans.push_back(v);
ans2 = alg5(k1,i,j);
for(auto v:ans2)ans.push_back(v);
return ans;
}
//v是n*n的方阵,里面的数字是1到n*n
vector<changeOpt> alg8(vector<vector<int>>v)
{
vector<changeOpt>ans;
for(int i=1;i<=n*n;i++){
for(int r=0;r<n;r++){
for(int c=0;c<n;c++){
if(v[r][c]!=i)continue;
i--;
vector<changeOpt> ans2 = alg7(r,c,i/n,i%n);
for(auto v:ans2)ans.push_back(v);
v[r][c]=v[i/n][i%n],v[i/n][i%n]=0;
r=n,c=n;
}
}
}
return ans;
}
最后就是主函数:
void myMain()
{
vector<vector<int>>v{
//唯一需要手动修改的地方
};
n = v.size();
vector<changeOpt> opts = alg8(v);
for(auto v:opts){
cout<<v.r1<<","<<v.c1<<","<<v.r2<<","<<v.c2<<",";
}
}
4,使用方法
每次只需要手动输入myMain中的n*n的表格,其他代码都不动(n也不需要修改),直接运行即可。
以这一关为例:
修改代码为:
vector<vector<int>>v{
{17,1,33,18,25,14},
{36,12,16,34,13,28},
{19,35,29,31,32,11},
{2,24,27,23,20,9},
{30,4,15,10,3,22},
{5,8,26,21,7,6}
};
运行输出:
1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,0,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,0,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,0,1,1,1,3,1,4,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,3,1,4,1,0,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,0,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,1,2,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,1,1,2,0,1,1,1,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,0,1,1,1,1,1,1,2,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,1,1,2,1,3,1,4,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,3,1,4,0,1,1,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,0,1,1,1,1,3,1,4,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,3,1,4,1,0,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,0,1,1,0,1,1,1,4,1,5,1,1,4,1,5,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,4,1,5,4,1,5,1,0,1,1,1,1,0,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,0,1,1,0,1,1,1,4,1,5,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,4,1,5,1,0,1,1,1,1,0,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,0,1,1,4,1,5,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,4,1,5,1,1,0,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,0,1,1,4,1,5,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,4,1,5,1,1,1,1,2,1,4,1,5,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,4,1,5,1,1,1,2,3,1,4,1,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,3,1,4,1,1,1,1,2,1,4,1,5,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,4,1,5,1,1,1,2,1,3,1,4,1,4,1,5,1,4,1,3,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,2,1,3,1,3,1,4,1,3,1,2,1,1,4,1,5,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,4,1,5,2,1,3,1,3,1,4,1,3,1,2,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,4,1,5,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,4,1,5,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,0,1,1,1,4,1,5,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,1,4,1,5,1,0,1,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,1,2,1,4,1,5,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,4,1,5,1,1,1,2,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,1,2,1,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,4,1,5,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,4,1,5,1,1,1,2,1,2,1,3,1,2,1,1,1,1,2,1,3,1,4,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,3,1,4,1,1,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,4,1,5,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,4,1,5,1,1,1,2,1,2,1,3,1,2,1,1,1,0,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,0,1,1,1,1,2,1,3,1,4,1,1,4,1,5,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,4,1,5,3,1,4,1,1,1,2,1,1,0,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,0,1,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,2,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,2,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,0,1,1,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,1,2,1,2,1,3,1,2,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,0,1,1,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,1,2,1,2,1,3,1,2,1,1,1,4,1,5,1,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,4,1,5,1,1,1,2,1,2,1,3,1,2,1,1,1,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,1,1,2,1,2,1,3,1,2,1,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,1,1,2,1,2,1,3,1,2,1,1,1,1,1,1,2,1,2,1,3,1,2,1,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,2,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,1,4,1,5,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,4,1,5,1,1,2,1,2,1,3,1,2,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,4,1,5,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,2,1,2,1,3,1,2,1,1,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,2,1,2,1,3,1,2,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,1,1,0,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,2,1,3,1,3,1,4,1,3,1,2,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,2,1,3,1,3,1,4,1,3,1,2,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,2,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,2,1,3,1,3,1,4,1,3,1,2,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,2,1,3,1,3,1,4,1,3,1,2,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,2,1,3,1,3,1,4,1,4,1,5,1,4,1,3,1,3,1,2,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,3,1,4,1,4,1,5,1,4,1,3,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,3,1,4,1,4,1,5,1,4,1,3,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,2,1,3,1,2,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,1,1,2,1,2,1,3,1,2,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,4,1,5,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,1,4,1,5,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,1,1,2,1,2,1,3,1,2,1,1,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,1,1,2,1,2,1,3,1,2,1,1,1,0,1,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,0,1,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,1,1,4,4,4,1,4,1,5,1,4,1,3,1,5,4,5,1,4,1,3,1,4,1,5,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,1,0,1,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,0,1,1,1,2,1,3,1,3,1,4,1,3,1,2,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,2,1,3,1,3,1,4,1,3,1,2,1,1,1,2,1,3,1,4,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,3,1,4,1,1,1,2,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,1,4,1,5,4,1,4,4,4,1,5,1,4,1,3,1,5,1,5,4,4,1,3,1,4,1,5,1,1,4,1,5,1,1,1,2,1,2,1,3,1,3,1,4,1,3,1,2,1,2,1,1,
5,自动点击
由于步数实在太多,自己一个个点很容易点错,所以我写了个python代码来点。
import pyautogui
import time
arr = [
#需要每次手动输入
]
def opt(r,c):
x = 705 # 左上角格子的x坐标
y = 281 # 左上角格子的y坐标
h = 84 # 每个格子的高度
w = 84 # 每个格子的宽度
pyautogui.click(x+c*w, y+r*h, button='left')
v = []
time.sleep(5)
for x in arr:
v.append(x)
if len(v) == 4:
opt(v[0],v[1])
opt(v[2], v[3])
time.sleep(0.1)
v=[]
其中opt中有4个超参,需要根据自己的屏幕情况,去填写对应的值。对于6*6 7*7 8*8 9*9来说,这4个超参可能还不一样。
除此之外,arr的值也需要填到代码中,这个只需要把上面c++的代码输出结果直接粘贴进来即可。