赞
踩
- #include <iostream>
- #include <string>
- #include <algorithm>
- using namespace std;
- int dp[100010];
- int n;
- string s;
- int head[100010],tail[100010];
-
- int main()
- {
- cin>>n;
- int maxs=1;
- for(int i=1;i<=n;i++){
- cin>>s;
- head[i]=s[0]-'0';
- tail[i]=s[s.size()-1]-'0';
- }
- dp[1]=1;
- for(int i=2;i<=n;i++){
- for(int j=1;j<i;j++)
- if(head[i]==tail[j])
- dp[i]=max(dp[i],dp[j]+1);
- maxs=max(maxs,dp[i]);
- }
- cout<<n-maxs;
- return 0;
- }
- #include <iostream>
- #include <string>
- #include <algorithm>
- using namespace std;
- int dp[20];
- int n;
- string s;
-
- int main()
- {
- cin>>n;
- for(int i=0;i<n;i++){
- cin>>s;
- dp[s.back()-'0']=max(dp[s.back()-'0'],dp[s.front()-'0']+1);
- }
- int maxs=-1e9;
- for(int i=0;i<10;i++) maxs=max(maxs,dp[i]);
- cout<<n-maxs;
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。