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

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

#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 喜欢 0 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!