c/c++语言开发共享题解 洛谷 P1580 【yyy loves Easter_Egg I】

一言不合上代码: 其实这道题并没有多难,只是许多坑罢了,要注意 (本人早期作品,勿喷) …

一言不合上代码:

#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 attemptn",bz);          printf("%dn",xf);          puts(dmz);      } else {          printf("unsuccessful @%s attemptn",bz);          printf("%dn",ls);          puts("good queue shape");      }      return 0;  }

其实这道题并没有多难,只是许多坑罢了,要注意

(本人早期作品,勿喷)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/603453.html

(0)
上一篇 2021年5月11日
下一篇 2021年5月11日

精彩推荐