poj3617Best Cow Line
生活随笔
收集整理的這篇文章主要介紹了
poj3617Best Cow Line
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意大概是這樣,給你一個字符串,你能夠進行的操作是這種,
每次拿走這個串的第一個字母,或者最后一個字母,然后放到
一個新串的末尾(當然啦,新串一開始是為空的),當把舊串
里的全部字母拿掉,這個時候就形成了一個字母以及長度都跟
舊串一樣的新串。如今要求使這個新串的字典序最小。
我的做法是用貪心,每次比較舊串的第一個和末尾的字母,誰小
就放在第一個。遇到兩個字母同樣的時候,就比較第二個字母和
倒數第二個字母,以此類推。直到找到兩個不同的字母為止,假設
前面的小就輸出舊串第一個字母,否則就輸出末尾字母。
假設都是同樣的字母的話呢,隨便輸出哪個就好了。
我的代碼例如以下:
?
#include<cstdio> int num; char cs[2010]; void init() {char tmp[2];int i;scanf("%d",&num);for(i=0;i<num;i++){scanf("%s",tmp);cs[i]=tmp[0];} } void result() {bool flag=1;int sum,l,r,i;l=sum=0;r=num-1;while(l<=r){for(i=0;l+i<r-i;i++)if(cs[l+i]<cs[r-i]){flag=1;break;}else if(cs[l+i]>cs[r-i]){flag=0;break;}if(flag){putchar(cs[l]);l++;}else{putchar(cs[r]);r--;}sum++;if(sum%80==0)printf("\n");} } int main() {init();result(); }
?
轉載于:https://www.cnblogs.com/yxwkf/p/4017760.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的poj3617Best Cow Line的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中的函数修饰符
- 下一篇: iscsi介绍及iscsi target