1. 程式人生 > >題解 洛谷 P1580 【yyy loves Easter_Egg I】

題解 洛谷 P1580 【yyy loves Easter_Egg I】

code clas urn dmz () 說話 clu lov temp

一言不合上代碼:

#include<cstdio>
#include<cstring>
char s[100001],bz[100001],dmz[100001];
int maohao,xf,ls,sss,lll,xxf,xxxf;
int n,d,a[1000001],i,j,k,f,cjf,l;
int main() {
    ls=1;
    gets(s);//第一個要特殊輸入,以便尋找隊列要@的人
    l=strlen(s);
    if(s[l-1]==/r)s[l-1]= ;
    for(i=10; i<l; i++) {
        
if(f) { k=0; for(j=i; j<l; j++) {//記錄人名 if(s[j]== )xxf++; if(xxf==3||s[j]==13)break;//特判符 bz[lll]=s[j]; lll++; } break; } if(s[i]==@)f=1; } while(gets(s)) {//
輸到沒有為止 l=strlen(s); if(l<2)break;//以防結尾回車 if(s[l-1]==/r)s[l-1]= ; ls++; if(cjf==0&&xf==0) { xxxf=0; char mz[100001]="yyy loves "; sss=10; j=0; f=0; l=strlen(s); for
(i=0; i<l; i++) { if(s[i+1]==:) { maohao=i; break; } if(s[i]==bz[j])j++; mz[i]=s[i]; sss++; } if(j==lll) {//油炸成功 cjf=1; continue; } for(i=maohao+1; i<l; i++) { if(f) { k=0; for(j=i; j<l; j++) { if(s[j]==bz[k])k++; else break; } if(k!=lll)xf=ls;//隊列被破壞 break; } if(s[i]==@)f=1; } if(f==0)xf=ls; for(i=0; i<sss; i++)//錄下當前說話的人的人名 dmz[i]=mz[i]; for(i=0; i<l; i++)if(s[i]==@)xxxf++; if(xxxf>1) {//判斷@個數 xf=ls; break; } } } if(cjf)printf("Successful @%s attempt",bz);//輸出 else if(xf) { printf("Unsuccessful @%s attempt\n",bz); printf("%d\n",xf); puts(dmz); } else { printf("Unsuccessful @%s attempt\n",bz); printf("%d\n",ls); puts("Good Queue Shape"); } return 0; }

其實這道題並沒有多難,只是許多坑罷了,要註意

(本人早期作品,勿噴)

題解 洛谷 P1580 【yyy loves Easter_Egg I】