返回题解分享
讨论 / 题解分享/ 帖子详情

接龙数列(编程题) - 题解

#include <bits/stdc++.h>
using namespace std;
int head[100000], rear[100000], res[100000], tmp[100000];
int main()
{
int n, result = 0;
char input[1000000];
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
cin >> input; // 以空格符(回车,空格)结束
head[i] = input[0] - int('0');
rear[i] = input[strlen(input) - 1] - int('0');
}
for (int i = 0; i < n; i++)
{
res[i] = 1;
res[i] = max(res[i], tmp[head[i]] + 1);
tmp[rear[i]] = max(tmp[rear[i]], res[i]);
result = max(res[i], result);
}
cout << (n - result);
return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!