POJ 3617 Best Cow Line(最佳奶牛隊伍)

POJ 3617 Best Cow Line

Time Limit:?1000MS  Memory Limit:?65536K

【Description】

【題目描述】

FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual "Farmer of the Year" competition. In this contest every farmer arranges his cows in a line and herds them past the judges.

?

The contest organizers adopted a new registration scheme this year: simply register the initial letter of every cow in the order they will appear (i.e., If FJ takes Bessie, Sylvia, and Dora in that order he just registers BSD). After the registration phase ends, every group is judged in increasing lexicographic order according to the string of the initials of the cows' names.

?

FJ is very busy this year and has to hurry back to his farm, so he wants to be judged as early as possible. He decides to rearrange his cows, who have already lined up, before registering them.

?

FJ marks a location for a new line of the competing cows. He then proceeds to marshal the cows from the old line to the new one by repeatedly sending either the first or last cow in the (remainder of the) original line to the end of the new line. When he's finished, FJ takes his cows for registration in this new order.

?

Given the initial order of his cows, determine the least lexicographic string of initials he can make this way.

FJ打算帶他的N(1 ≤ N ≤ 2,000)頭奶牛去參加"Farmer of the Year"比賽。在這個比賽中每個農夫都會把他們的奶牛排成一隊,然后經過評審團。

?

比賽方今年采用了一種新的登記方案:每頭牛的出場都以名字首字母進行簡要登記(換句話說,如果FJ帶了Bessie、Sylvia和Dora參加,那么他只要登記成BSD)。登記結束后,每組評判根據奶牛名字首字母串字典序升序評判。

?

FJ今年事特多又得趕回農場,想早點完事。因此他決定在登記前把已經排好隊的奶牛重排一遍。

?

FJ找了塊地給比賽的奶牛排新隊伍。接著他不斷把第一頭或最后一頭牛從舊(或者剩下的)隊伍轉移到新隊伍的尾部。搞定后,FJ會用這個新隊伍登記。

?

給你這群奶牛的大寫字母,找出上述方法排列后字典序最小的字符串。

?

【Input】

【輸入】

* Line 1: A single integer: N

* Lines 2..N+1: Line i+1 contains a single initial ('A'..'Z') of the cow in the ith position in the original line

* 第1行: 一個整數: N

* 第2..N+1行: 第i+1行包含表示第i個奶牛初始位置的一個大寫字母('A'..'Z')

?

【Output】

【輸出】

The least lexicographic string he can make. Every line (except perhaps the last one) contains the initials of 80 cows ('A'..'Z') in the new line.

輸出所能構造的最小字典序字符串。每行(最后一行不用管)包含80頭奶牛的大寫字母('A'..'Z')。

?

【Sample Input - 輸入樣例】

【Sample Output - 輸出樣例】

6

A

C

D

B

C

B

ABCBCD

?

【題解】

貪心法,取字典序最小的元素。

輸出時每次從舊隊伍的頭/尾取出較小的元素,如果字典序相同,就看看哪一邊能更快地輸出字典序較小的元素。

【代碼 C++】

 1 #include<cstdio>
 2 char data[2005];
 3 int i;
 4 bool cmp(int L, int R){
 5     if (data[L] == data[R]){
 6         while (data[L] == data[R] && L < R) ++L, --R;
 7     }
 8     return data[L] < data[R];
 9 }
10 void opt(char now){
11     if (i == 80) i = 0, puts("");
12     putchar(now), ++i;
13 }
14 int main(){
15     int L, R, n;
16     scanf("%d", &n);
17     for (i = 0; i < n; ++i) getchar(), data[i] = getchar();
18     for (i = L = 0, R = n - 1; L <= R;){
19         if (cmp(L, R)) opt(data[L++]);
20         else opt(data[R--]);
21     }
22     return 0;
23 }

?

轉載于:https://www.cnblogs.com/Simon-X/p/5309380.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257499.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js blob php_js發送blob數據, php端接收blob數據

服務器環境CentOs7.4 php7print_r($_FILES)blob結構如下Array([blob] > Array([name] > blob[type] > image/jpeg[tmp_name] > /tmp/phpu37qnN[error] > 0[size] > 1175745))很納悶這個結構為什么沒有圖片數據流&#xff0c;只有圖片的信息悶了幾個小時胡…

eclipse環境配置、快捷鍵及基本操作

Eclipse與MyEclipse的區別 Elipse是一種可擴展的開放源代碼的集成開發環境&#xff0c;具有免費、純java語言編寫、免安裝、擴展性強等特點。 MyElipse在Elipse基礎上追加的功能性插件&#xff0c;對插件收費&#xff0c;在WEB開發中提供強大的系統架構平臺。 工作空間的基本配…

php 枚舉類型比較,枚舉的比較-python編程入門系列圖文教程-PHP中文網教程

因為枚舉成員不是有序的&#xff0c;所以它們只支持通過標識(identity) 和相等性 (equality) 進行比較。下面來看看 和 is 的使用&#xff1a;#!/usr/bin/env python3# -*- coding: UTF-8 -*-from enum import Enumclass User(Enum):Twowater 98Liangdianshui 30Tom 12Twow…

我與C++的不解情緣

我是一個老實人&#xff0c;我當時報考C真的全心是為了自己自考的免考&#xff0c;絕不是為了什么二級證&#xff0c;可是&#xff0c;進行到一半的時候&#xff0c;突然獲悉&#xff0c;C自我們這次開始&#xff0c;不作為免考科目了&#xff0c;當時我的心里啊&#xff0c;那…

hadoop之 Hadoop2.2.0中HDFS的高可用性實現原理

在Hadoop2.0.0之前&#xff0c;NameNode(NN)在HDFS集群中存在單點故障&#xff08;single point of failure&#xff09;&#xff0c;每一個集群中存在一個NameNode&#xff0c;如果NN所在的機器出現了故障&#xff0c;那么將導致整個集群無法利用&#xff0c;直到NN重啟或者在…

3D坦克大戰游戲源碼

3D坦克大戰游戲源碼&#xff0c;該游戲是基于xcode 4.3&#xff0c;ios sdk 5.1開發。在xcode4.3.3上完美無報錯。兼容ios4.3-ios6.0 &#xff0c;一款ios平臺上難得的3D坦克大戰游戲源碼&#xff0c;有20張不同的作戰地圖。通過左下角方向鍵和重力感應來控制坦克運行&#xff…

mongodb php 擴展 linux,CentOS Linux 安裝PHP的MongoDB擴展

一、下載、編譯以及安裝MongoDB的php擴展cd /data0/softwaregit clone git://github.com/mongodb/mongo-php-drivercd mongo-php-drivergit submodule initgit submodule update/usr/local/webserver/php/bin/phpize./configure --with-php-config/usr/local/webserver/php/bin…

The hierarchy of the type UserOperateLogAdvisor is inconsistent

加入 aopalliance-1.0.jar轉載于:https://www.cnblogs.com/toSeeMyDream/p/4375962.html

Acrobat DC發布一周年 激活移動時代文件處理革命

“我們很高興地看到&#xff0c;Adobe Acrobat DC推出一年以來&#xff0c;在包括AEC在內的多個行業獲得了廣泛的應用&#xff0c;受到了普遍的歡迎和高度的認可。”Adobe高級渠道銷售經理馬驥在研討會上指出&#xff0c;“整合了多種智能工具的Adobe Acrobat DC大大推動了企業…

介紹一個輕量級iOS安全框架:SSKeyChain

SSKeyChains對蘋果安全框架API進行了簡單封裝&#xff0c;支持對存儲在鑰匙串中密碼、賬戶進行訪問&#xff0c;包括讀取、刪除和設置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。 項目地址&#xff1a;https://github.com/samsoffes/sskeychain 在工程中加入SSK…

java編程基礎素數實驗報告,JAVA 基礎編程練習題1 (輸出素數)

JAVA 基礎編程練習題1 (輸出素數)JAVA 基礎編程練習題1 (輸出素數)題目&#xff1a;判斷 101-200 之間有多少個素數&#xff0c;并輸出所有素數。程序分析&#xff1a;判斷素數的方法&#xff1a;用一個數分別去除 2 到 sqrt(這個數)&#xff0c;如果能被整除&#xff0c;則表明…

Go語言在掃碼支付系統中的成功實踐

今天的內容主要分四個方面。第一&#xff0c;金融支付系統的一些特點;第二&#xff0c;我們的掃碼支付系統技術選型;第三&#xff0c;系統迭代過程中的架構演進;第四&#xff0c;與Go相關的一些坑。 金融支付系統的一些特點 圖 1 首先從業務流程入手&#xff0c;其實非常簡單。…

一站式學習Wireshark(七):Statistics統計工具功能詳解與應用

Wireshark一個強大的功能在于它的統計工具。使用Wireshark的時候&#xff0c;我們有各種類型的工具可供選擇&#xff0c;從簡單的如顯示終端節點和會話到復雜的如Flow和IO圖表。本文將介紹基本網絡統計工具。包括&#xff1a;捕捉文件摘要&#xff08;Summary&#xff09;,捕捉…

UIKit框架各個類的簡介

1.UIAcceleration: 被叫做加速事件的一個UIAcceleration類的實例是用來代表即時的三維加速數據。為了接收重力加速度&#xff0c;要注冊一個應用應用程序作為一個共享UIAccelerater對象的委托對象&#xff08;參考UIAcceleromete類&#xff09;。 2. UIAccelerater: UIAccelera…

php堆是什么,PHP 堆與堆排序的詳解

堆排序&#xff1a;堆排序是利用堆的性質進行的一種選擇排序。下面先討論一下堆。1.堆堆實際上是一棵完全二叉樹&#xff0c;其任何一非葉節點滿足性質&#xff1a;Key[i]<key[2i1]&&Key[i]<key[2i2]或者Key[i]>Key[2i1]&&key>key[2i2]即任何一非葉…

Odoo (OpenERP/TinyERP)-10.0 (Debian 8)

平臺&#xff1a; Ubuntu 類型&#xff1a; 虛擬機鏡像 軟件包&#xff1a; odoo-10.0commercial erp odoo open source openerp tinyerp服務優惠價: 按服務商許可協議 云服務器費用:查看費用 立即部署產品詳情 產品介紹Odoo https://www.odoo.com/ &#xff08;前Op…

iOS開發- 藍牙后臺接收數據(BLE4.0)

最近在做一個藍牙相關的項目, 需要在應用進入后臺, 或者手機屬于鎖屏狀態的情況下, 仍然保持藍牙連接, 并且能正常接收數據。 本來以后會很麻煩, 但是學習了下..發現就2步而已。簡單的不能再簡單了。 好了。下面是具體實現辦法。 1.在xxx-info.plist文件中, 新建一行 Required…

貪心(數據結構):COGS 468. [NOI2010]超級鋼琴

★★★☆ 輸入文件&#xff1a;piano.in 輸出文件&#xff1a;piano.out 簡單對比 時間限制&#xff1a;2 s 內存限制&#xff1a;512 MB 超級鋼琴 【問題描述】 小Z是一個小有名氣的鋼琴家&#xff0c;最近C博士送給了小Z一架超級鋼琴&#xff0c;小Z希望能夠用這架…

java實現選擇排序 帶打印,選擇排序算法的JAVA實現

選擇排序算法的JAVA實現package Utils.Sort;/***利用選擇排序法對數組排序&#xff0c;數組中元素必須實現了Comparable接口。*/public class ChooseSort implements SortStrategy{/***對數組obj中的元素以選擇排序算法進行排序*/public void sort(Comparable[] obj){if (obj …

angularjs初始化時不顯示模板內容, 不顯示html, 不顯示template

template的內容可能在需要的數據準備好之前就顯示出來了, ng-cloak可以解決這個問題 ng-cloak <div id"template1" ng-cloak>{{ hello }}</div> <div id"template2" class"ng-cloak">{{ world }}</div>