各位大佬帮忙看看哪里有问题TAT
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 9;
struct Node
{
int l, r;
} node[N];
int n, dp[12];
void solve()
{
cin >> n;
for(int i=1; i<=n; i++)
{
string s;
cin >> s;
node[i].l = int(s[0] - '0');
node[i].r = int(s[s.length() - 1] - '0');
}
for(int i=1; i<=n; i++)
{
dp[node[i].r] = max(dp[node[i].r], dp[node[i].l] + 1);
}
int maxn = 0;
for(int i=1; i<=9; i++) maxn = max(maxn, dp[i]);
cout << n - maxn << '\n';
}
int main()
{
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
solve();
return 0;
}