UVA 12543 Longest Word 解题报告

比赛

题目

题意:

求一段文章里第一个出现的最长字符串,字符串定义为只由字符和连字符组成的串,输出时要小写。

题解:

暴力……

//Time:15ms
//Memory:0KB
//Length:755B
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
#define MAXN 1010
#define MAXM 100010
char str[MAXN],ans[MAXN];
int main()
{
    int len=0;
    //freopen("/home/moor/Code/input","r",stdin);
    while(scanf("%s",str))
    {
        if(strcmp(str,"E-N-D")==0)  break;
        for(int i=0;str[i];++i)
            if(str[i]>='A'&&str[i]<='Z')
                str[i]+=32;
        for(int i=0,j;str[i];)
        {
            for(j=i;str[j];++j)
                if(str[j]!='-'&&(str[j]<'a'||str[j]>'z'))
                    break;
            if(len<j-i)
                strncpy(ans,&str[i],j-i),len=j-i;
            i=j+1;
            if(!str[j]) break;
        }
    }
    printf("%s\n",ans);
    return 0;
}


你可能感兴趣的:(UVA 12543 Longest Word 解题报告)