求助!
查看原帖
求助!
1216740
_Misaka_Ning_楼主2024/3/7 14:01

各位大佬帮我看看吧TAT,为啥会只拿20分,和题解的思路明明是相同的...

#include<bits/stdc++.h>
#define forr(i,a,b) for(int i=(a);i<(b);i++)
#define endl '\n'
typedef unsigned long long ull;
//const int N = 1e8;
using namespace std;

int findfirst(ull m){
	while(m>10){
		m/=10;
	}
	return m;
}

int findlast(ull m){
	return m%10;
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	int first, last;
	ull n, dp[10]={0}, m, ans=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>m;
		first=findfirst(m);
		last=findlast(m);
		dp[last]=max(dp[last], dp[first]+1);
	}
	for(int i=0;i<10;i++)ans=max(ans,dp[i]);
	cout<<n-ans;
	
    return 0;
}

2024/3/7 14:01
加载中...