题目链接
一些话
流程
求最少移动次数,
因为相邻行列可以交换,且除了一个1,其他数都是0,所以等价于是求1到(3,3)的距离
读入时记录1的坐标,再做差算距离即可
套路
坐标作差算距离,
用abs(x1-x2)
ac代码
#include <iostream> using namespace std; int main(){ int a[10][10]; int x,y; for(int i = 1;i <= 5;i ++){ for(int j = 1;j <= 5;j++){ cin >> a[i][j]; if(a[i][j] == 1) x = i ,y = j; } } cout << abs(3 - x) + abs(3 - y) << endl;// 坐标距离问题,用abs来计算 return 0; }