UVA 10602

来源:互联网 发布:统计查询sql语句 编辑:程序博客网 时间:2024/05/18 22:41

#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <vector>using namespace std;#define maxn 105bool vis[maxn];int order[maxn];int main(){    char fir[maxn];    int n, t;    char str[maxn][maxn];    scanf("%d",&t);    while(t--)    {        scanf("%d",&n);        getchar();        int ans = 0, pnum = 0;        int pos,maxx,cnt,j,l;        memset(vis, 0, sizeof(vis));        for( int i = 0; i < n ; i++)            scanf("%s",str[i]);        int len = strlen(str[0]);        ans += len;        pos = 0;        vis[0] = 1;        order[pnum++] = 0;        for( cnt = 1; cnt < n; cnt++)        {            for(  j = 0; j < n ; j++)            {                maxx = 0;                if(vis[j])                    continue;               // cout<<str[pos]<<" "<<str[j]<<endl;                for(  l = 0; str[pos][l] != '\0' && str[j][l] != '\0'; l ++)                {                    if(str[j][l] != str[pos][l])                        break;                }                if(maxx < l)                {                    maxx = l;                    pos = j;                }               // cout<<maxx<<endl;                vis[pos]= 1;                order[pnum++] = pos;               // cout<<"pos"<<pos<<endl;               //cout<<strlen(str[pos]) - maxx<<endl;                ans += (strlen(str[pos]) - maxx);            }        }        printf("%d\n",ans);    }}

0 0
原创粉丝点击