提交时间:2024-08-21 13:48:35

运行 ID: 180464

#include <bits/stdc++.h> using namespace std; int n, ans = INT_MAX, q, p; int a[1005][1005]; void fun(int x, int y) { if (x == p) { ans = min(ans, y - 1); return; } if (y >= ans) return; for (int i = 1; i <= n; i++) { if (a[x][i] == 1) { a[x][i] = 0; fun(i, y + 1); a[x][i] = 1; } } } int main() { cin >> n; cin >> q >> p; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { cin >> a[i][j]; } } fun(q, 0); cout << ans << endl; }