javaee论坛

普通会员

225648

帖子

335

回复

349

积分

楼主
发表于 2019-10-31 13:24:51 | 查看: 111 | 回复: 0

Look-and-saysequenceisasequenceofintegersasthefollowing:

D,D1,D111,D113,D11231,D112213111,...SampleInput:18SampleOutput:1123123111

我的代码:

#include<iostream>#include<string>#include<sstream>#include<vector>#include<algorithm>#include<cmath>#include<map>#include<queue>#include<unordered_map>usingnamespacestd;//15:21intmain(){freopen("C:\\Users\\chenzhuo\\Desktop\\in.txt","r",stdin);stringtmp="";charc;cin>>c;tmp=tmp+c;intn;cin>>n;for(inti=1;i<n;i++){//cout<<1;stringtmp1="";charlast=tmp[0];//cout<<last;intsz=0;for(intj=0;j<tmp.size();j++){if(tmp[j]==last){sz++;}else{tmp1+=last;last=tmp[j];charcc='0';cc+=sz;tmp1=tmp1+cc;sz=1;}}tmp1+=last;charcc='0';cc+=sz;tmp1=tmp1+cc;tmp=tmp1;cout<<tmp<<endl;}cout<<tmp;}

 

 

 

晴神代码优点:

循环不换行,显得紧密。

使用了函数to_string 

两个for循环一次遍历。

#include<iostream>usingnamespacestd;intmain(){  strings;  intn,j;  cin>>s>>n;  for(intcnt=1;cnt<n;cnt++){    stringt;    for(inti=0;i<s.length();i=j){      for(j=i;j<s.length()&&s[j]==s[i];j++);      t+=to_string((s[i]-'0')*10+j-i);    }    s=t;  }  cout<<s;  return0;}

 


上一篇:最新!2016 下一篇:csp
您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017