自己的usaco代码---PROB Calf Flac
来源:互联网 发布:网络推广团队口号 编辑:程序博客网 时间:2024/05/17 09:01
原创代码
仅供参考
欢迎评论O(∩_∩)O~
//多行字符串读入 /*ID: 输你自己的PROG: calfflacLANG: C++*/#include <iostream>#include <cstring>#include <string>#include <algorithm>#include <cmath>#include <cstdio>using namespace std;char aa[300000];char aaa[300][82];struct ss{char a;int b;};ss s[22000];int k=0;int find(int qq){int tmp=1;int l,r;l=qq-1;r=qq+1;while((s[l].a==s[r].a||s[l].a+32==s[r].a||s[l].a-32==s[r].a)&&(l>=1&&r<=k)){l--;r++;tmp+=2;}return tmp;}int find2(int qq){int tmp=0;int l,r;l=qq-1;r=qq;while((s[l].a==s[r].a||s[l].a+32==s[r].a||s[l].a==s[r].a+32)&&(l>=1&&r<=k)){l--;r++;tmp+=2;}return tmp;}int main(){freopen("calfflac.in","r",stdin);freopen("calfflac.out","w",stdout);int re=-1;while(gets(aaa[++k]));for(int i=1;i<=k;i++){ for(int j=0;j<strlen(aaa[i]);j++) aa[++re]=aaa[i][j]; aa[++re]='\n';}s[0].a='#';k=0;for(int i=0;i<strlen(aa);i++) if(isalpha(aa[i])) {s[++k].a=aa[i]; s[k].b=i;} int ans=0;//优化int ks;for(int i=1;i<=k;i++){ int ll=find(i); if(ans<ll) {ans=ll; ks=i-ll/2;} ll=find2(i); if(ans<ll) {ans=ll; ks=i-ll/2;}} cout<<ans<<endl;for(int i=s[ks].b;i<=s[ans+ks-1].b;i++) cout<<aa[i];cout<<endl;return 0;}
ps:这道题有很多坑---
1)有多行输入,特别是第五个,是一份代码
2)卡二维暴搜
自己也遇到一个问题
子程序中判断不够,导致s[0].a的比较出现,卡第八个数据
- 自己的usaco代码---PROB Calf Flac
- usaco-Calf Flac 最长的回文
- Calf Flac(USACO)
- USACO 1.3-Calf Flac
- [USACO] Calf Flac
- usaco Calf Flac
- USACO 1.3 Calf Flac
- USACO 1.3 Calf Flac
- usaco Calf Flac
- USACO:Calf Flac
- USACO Calf Flac
- USACO-Calf Flac
- usaco-Calf Flac
- USACO Calf Flac
- usaco Calf Flac
- Calf Flac-usaco
- 自己的usaco代码---PROB Broken Necklace
- 自己的usaco代码---PROB Milking Cows
- 信息: Initializing Spring root WebApplicationContext
- spring mvc 源代码笔记1--org.springframework.web.servlet.mvc.method
- 学习《笨办法学phyton》(0)
- 读核笔记-内核初始化-从start_kernel到init
- oracle表分区
- 自己的usaco代码---PROB Calf Flac
- X Shell 4配色方案[Solarized Dark]
- 不要自称为程序员
- HDU4662+无
- java日期操作
- 进制转换练习题两道
- java调用webservice 天气预报
- Unicode汉字编码表
- C++字符串