poj 3623 Best Cow Line, Gold 暴力枚举
题目地址:poj 3623
题目大意:可以从串的两端选取,求尽可能字典序小的串
直接暴力 ,关键是两端的字符相同的情形,这个时候要用快排那样的扫描方法。
一旦扫到了head 和tail 相遇甚至是穿过了还是没有找到不同的,这说明是对称的,随便先移除前面 后面 都行。
再就是注意一下输出 每80个换行 而且最后一行如果不是刚换过行了还是要换行
代码:
#include<iostream> #include<string> #include<algorithm> using namespace std; char s[30005]; int main() { int n; cin>>n; char ch; for(int i=0;i<n;i++) cin>>s[i]; int count=0; int ii=0,jj=n-1; while(ii<=jj) { int flag=0; for(int l=0;l+ii<=jj-l;l++) { if(s[ii+l]<s[jj-l]) { flag=0; break; } else if(s[ii+l]>s[jj-l]) { flag=1; break; } } if(flag==0) { cout<<s[ii]; ii++; } else { cout<<s[jj]; jj--; } count++; if(count%80==0) cout<<endl; } if(count%80!=0) cout<<endl; }
posted on 2014-02-24 16:58 814jingqi的ACM 阅读(115) 评论(0) 编辑 收藏 举报