POJ 3617 Best Cow Line 贪心算法
来源:互联网 发布:阿里云按量计费 编辑:程序博客网 时间:2024/05/29 07:38
题目链接:Best Cow Line
贪心策略是:一直从S字串两侧寻找小的字符,特殊情况是:如果两侧字符一样,向内侧比较并获取答案。(不过感觉这步做了很多无用功,尤其是回文串的情况)
代码如下: View on Github
#include <cstdio>#include <cstdlib>#include <cstring>#include <vector>using namespace std;vector<char> S;bool operator < (vector<char>& a,vector<char>& b){ int maxsize=a.size()>b.size()?a.size():b.size(); for(int i=0;i<maxsize;i++) { if(a.at(i)>b.at(i)) { return false; } else if(a.at(i)<b.at(i)) { return true; } } return a.size()<b.size();}bool operator > (vector<char>& a,vector<char>& b){ int maxsize=a.size()>b.size()?a.size():b.size(); for(int i=0;i<maxsize;i++) { if(a.at(i)>b.at(i)) { return true; } else if(a.at(i)<b.at(i)) { return false; } } return a.size()>b.size();}bool operator == (vector<char>& a,vector<char>& b){ if(a.size()!=b.size()) { return false; } int maxsize=a.size(); for(int i=0;i<maxsize;i++) { if(a.at(i)!=b.at(i)) { return false; } } return true;}/*int main(){ int n; scanf("%d%*c",&n); for(int i=0;i<n;i++) { char c; scanf("%c%*c",&c); S.push_back(c); } for(int i=0;i<n;i++) { if(S.at(0)<S.at(S.size()-1)) { printf("%c",S.at(0)); S.erase(S.begin()); } else { printf("%c",S.at(S.size()-1)); S.erase(S.end()-1); } } return 0;}*/char XS[2048];int L,R;int main(){ int n; scanf("%d%*c",&n); L=0; R=n-1; for(int i=0;i<n;i++) { scanf("%c%*c",&XS[i]); } int cnt=0; for(int i=0;i<n;i++) { if(XS[L]<XS[R]) { printf("%c",XS[L]); L++; } else if(XS[L]>XS[R]) { printf("%c",XS[R]); R--; } else { /// XS[L] == XS[R] bool check=false; for(int i=1;i<R-L;i++) { if(XS[L+i]<XS[R-i]) { check=true; printf("%c",XS[L]); L++; break; } else if(XS[L+i]>XS[R-i]) { check=true; printf("%c",XS[R]); R--; break; } } if(!check) { printf("%c",XS[L]); L++; } } cnt++; if(cnt==80) { printf("\n"); cnt=0; } } printf("\n"); return 0;}
我在GitHub上建立了一个仓库,用于存放已经AC的题目的源代码。如果各位有未收录的题目或者有更好的解法,欢迎fork仓库+PR~ 让我们共同创建一个AC代码集中仓库,造福ACM Beginner ~
仓库地址: OJ-Problems-Source On GitHub
0 0
- POJ 3617 Best Cow Line 贪心算法
- POJ 3617 Best Cow Line 贪心算法
- POJ-3617-Best Cow Line(贪心算法+Java)
- POJ-3617-Best Cow Line(贪心算法+Java)
- POJ 3617 - Best Cow Line(贪心)
- POJ 3617 - Best Cow Line(贪心)
- POJ 3617 best cow line 贪心法
- poj 3617 Best Cow Line(贪心)
- POJ 3617 Best Cow Line(贪心)
- POJ 3617 Best Cow Line 贪心
- POJ 3617 Best Cow Line(贪心)
- poj 3617Best Cow Line(贪心)
- POJ 3617 Best Cow Line (贪心)
- POJ 3617 Best Cow Line (贪心)
- POJ 3617 Best Cow Line 贪心
- POJ 3617 Best Cow Line(贪心)
- POJ 3617 Best Cow Line(贪心)
- poj 3617 Best Cow Line 【贪心】
- Teacher_Cadre c++多文件编程
- FusionCharts简单教程(四)-----基本数字格式
- 1.2.2 对386硬件的多任务测试
- Merkle Tree用于100%准备金证明
- 浏览器对HTML5特性检测工具Modernizr
- POJ 3617 Best Cow Line 贪心算法
- 写在心有余力有余的大二下学期
- 最长递增子序列
- JAVA——匿名对象
- 网络_断点续传.断点下载
- hadoop 安装与配置
- Redis和Memcached的区别
- Java状态机
- OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算