POJ3617 Best Cow Line
其实是学习参考了算法书的代码,但仍然是我自己写的,有小差别。贪心类型。
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int i,n; 7 char str[2000+1]; 8 9 scanf("%d",&n); 10 for(i=0;i<n;i++) 11 cin>>str[i]; 12 13 int s=0,e=n-1; //首尾位置 14 15 for(i=1;i<n;i++) 16 { 17 int ts=s,te=e; 18 for(;ts+1<te-1 && str[ts]==str[te];ts++,te--) //找出要判断字符的位置 19 ; 20 21 if(str[ts]<str[te]) 22 putchar(str[s++]); 23 else //str[ts]>str[te],和ts+1>=te-1的情况,这时取首尾都可以 24 putchar(str[e--]); 25 26 if(i%80==0) putchar('\n'); 27 } 28 29 putchar(str[s]); //s==e,即最后一个字符 30 return 0; 31 }