2009年10月30日 星期五

TIOJ 1489 E. 核心字串

poao899    968K    265MS    G++    0.78K     2009-10-31 14:47:43                                 .

正在認真考慮不要依照OJ分類而依照題目來源分類


queue.


應該跟TIOJ 1501頗像不過不懂1501WA在哪裡

是說他沒要我輸出長度我竟然把長度輸出了QQ

敗尺(?


噢是USACO1.3 Calf Flac懶得co先回來TIOJ

//********************************


#include<stdio.h>
int len,mlen,front,rear,l,r;
char in[1000001];
int used[26];
main(){
    while(scanf("%d",&len),len){
        getchar();
        gets(in);
        for(int i=0;i<26;i++)used[i]=0;
        rear=0;
        for(int cnt=0;cnt<26&&rear<len;rear++){
            if(used[in[rear]-'a']==0)cnt++;
            used[in[rear]-'a']++;
        }
        mlen=rear;
        l=0;
        r=rear-1;
        if(rear==len){puts("not found");continue;}
        for(front=0;rear<len;rear++){
            used[in[rear]-'a']++;
            for(;used[in[front]-'a']>1;front++)
                used[in[front]-'a']--;
            if(rear-front+1<mlen){
                mlen=rear-front+1;
                l=front;
                r=rear;
            }
        }
        for(int i=l;i<=r;i++)
            putchar(in[i]);
        puts("");
    }
}

沒有留言:

張貼留言