洛谷P1061 Jam的計數法

題目描述

Jam是個喜歡標新立異的科學怪人。他不使用阿拉伯數字計數,而是使用小寫英文字母計數,他覺得這樣做,會使世界更加豐富多彩。在他的計數法中,每個數字的位數都是相同的(使用相同個數的字母),英文字母按原先的順序,排在前面的字母小于排在它后面的字母。我們把這樣的“數字”稱為Jam數字。在Jam數字中,每個字母互不相同,而且從左到右是嚴格遞增的。每次,Jam還指定使用字母的范圍,例如,從2到10,表示只能使用{b,c,d,e,f,g,h,i,j}這些字母。如果再規定位數為5,那么,緊接在Jam數字“bdfij”之后的數字應該是“bdghi”。(如果我們用U、V依次表示Jam數字“bdfij”與“bdghi”,則U<V< span>,且不存在Jam數字P,使U<P<V< span>)。你的任務是:對于從文件讀入的一個Jam數字,按順序輸出緊接在后面的5個Jam數字,如果后面沒有那么多Jam數字,那么有幾個就輸出幾個。

輸入輸出格式

輸入格式:

?

輸入有2行,第1行為3個正整數,用一個空格隔開:

s t w (其中s為所使用的最小的字母的序號,t為所使用的最大的字母的序號。w為數字的位數,這3個數滿足:1≤s<T≤26, 2≤w≤t-s )

第2行為具有w個小寫字母的字符串,為一個符合要求的Jam數字。

所給的數據都是正確的,不必驗證。

?

輸出格式:

?

輸出最多為5行,為緊接在輸入的Jam數字后面的5個Jam數字,如果后面沒有那么多Jam數字,那么有幾個就輸出幾個。每行只輸出一個Jam數字,是由w個小寫字母組成的字符串,不要有多余的空格。

?

輸入輸出樣例

輸入樣例#1:
  2 10 5bdfij
輸出樣例#1:
bdghi
bdghj
bdgij
bdhij
befgh

說明

NOIP 2006 普及組 第三題

【題目分析】

? ? 前面兩道題的分析我都用了魔仙堡的思維來解哈哈哈(為了避免遭到老師毒打,我決定這道題好好寫)

? ? 這道題就是在s到t個樹中找出w個數,其實s沒啥用,并且要按照字典序排列

? ? 從后向前找未達到最大值t的s[len],后面的數比前面的數至少要大1

? ? 如果不符合條件(比t大或者前面這一位比他后面的大且不是最后一位),撤銷前面的操作,并退回到上一位

? ? 最終得到的len值,從第len位開始往后每一位都比前一位+1改變s串的值輸出直到i==5

?

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a,t,w,len;
char t1;
string s;
int main()
{scanf("%d%d%d",&a,&t,&w);t1=t+96;cin>>s;for(int i=1;i<=5;i++){len=w-1;for(int j=1;j!=0;j++){s[len]++;if(s[len]>t1||(len!=w-1 && s[len]>=s[len+1]))s[len]--,len--;else break;if(len<=0) return 0;}for(int k=len+1;k<w;k++)s[k]=s[len]+k-len;cout<<s<<endl;}return 0;
}

?

轉載于:https://www.cnblogs.com/xiaoningmeng/p/5820917.html

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

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

相關文章

java中final使用

final關鍵字可以用來修飾引用、方法和類。 1、用來修飾一個引用 如果引用為基本數據類型&#xff0c;則該引用為常量&#xff0c;該值無法修改&#xff1b; 如果引用為引用數據類型&#xff0c;比如對象、數組&#xff0c;則該對象、數組本身可以修改&#xff0c;但指向該對象或…

oracle未過賬是什么意思,EBS R12 GL過帳問題(急)

憑證在過賬時出現以下錯誤日志&#xff0c;麻煩幫忙分析下是什么原因。謝謝&#xff01;---------------------------------------------------------------------------總帳管理系統: Version : 12.0.0Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.GLP…

曲線的生成算法實現_PCGPlanet1-地形生成算法簡介

比較常用的地形生成算法有三種&#xff1a;四叉樹算法,GeoMipmap算法&#xff0c;移動立方體算法目前市面游戲采用的方案基本都是以這三種算法為基礎實現的&#xff0c;下面依次進行介紹四叉樹算法很經典的算法&#xff0c;在沒有GPU的時代就已經出現了&#xff0c;原始算法是純…

數據庫安全:數據庫加密技術介紹

數據庫加密是計算機系統對信息進行保護的一種最可靠的方法。它利用密碼技術對信息進行加密&#xff0c;實現信息屏蔽&#xff0c;從而起到保護信息安全的作用。對數據庫中的數據進行加密&#xff0c;可以防止數據在存儲和傳輸過程中失密。常用的數據加密技術按照作用不同分為數…

poj 1201 差分約束

轉自&#xff1a;優YoU http://user.qzone.qq.com/289065406/blog/1307063918 大致題意&#xff1a; 給出數軸上的n個區間[ai&#xff0c;bi]&#xff0c;每個區間都是連續的int區間。 現在要在數軸上任意取一堆元素&#xff0c;構成一個元素集合V 要求每個區間[ai&#xff0c…

oracle11 刪除表空間,oracle11g啟動停止服務,修改字符集,導入導出,創建刪除表空間,卸載oracle等...

oracle11g啟動停止服務,修改字符集,導入導出,創建刪除表空間,卸載oracle等1. 【啟動停止服務】//啟動停止監聽 www.2cto.comlsnrctl start;lsnrctl stop;//啟動停止服務sqlplus orcl as sysdba; //登錄>shutdown immediate;>STARTUP;或者ps -ef|grep ora_dbw0_$O…

Java中包裝類型和基本類型的使用場景(阿里開發規范)

基本數據類型和包裝數據類型推薦使用場景 所有的 POJO 類屬性必須使用包裝數據類型RPC 方法的返回值和參數必須使用包裝數據類型所有的局部變量推薦使用基本數據類型

數據庫:整理四個實用的SQLServer腳本函數

今天給大家分享小編自己日常工作積累的四個SQLServer腳本函數 目錄 1、字符串指定字符分割為list 2、數字去掉末尾的0 3、創建表、視圖、函數、存儲過程判斷是否存在 4、金額轉換為大寫 1、字符串指定字符分割為list 功能&#xff1a;主要適用于數據庫字段存儲字段用逗號等分隔…

python排名分析_用Python分析了近幾年胡潤排行榜,我酸了……

10 月 20 日&#xff0c;胡潤研究院發布《2020 胡潤百富榜》&#xff0c;也就是富富富豪排行榜杭州的馬云毫無懸念的再次摘下中國首富桂冠&#xff0c;深圳的馬化騰位列第二榜單被我翻爛了&#xff0c;還是沒有找到我的名字&#xff0c;難道是被遺漏了嗎&#xff1f;&#xff1…

sublime代碼片段

創建方法&#xff1a;Tools > New Snippet 這時你會看到如下示例代碼&#xff1a; <snippet><content><![CDATA[Hello, ${1:this} is a ${2:snippet}.]]></content><!-- Optional: Set a tabTrigger to define how to trigger the snippet -->…

定義DO/DTO/VO等POJO類時,不要設定任何屬性默認值

定義DO/DTO/VO等POJO類時&#xff0c;不要設定任何屬性默認值

php事務 面向對象,關于PHP面向對象的事務腳本模式

下面為大家帶來一篇PHP面向對象之事務腳本模式(詳解)。內容挺不錯的&#xff0c;現在就分享給大家&#xff0c;也給大家做個參考。如下所示&#xff1a;/*事務腳本模式: 類似于thinkphp中的model層&#xff0c;或者說就是操作數據庫的類。個人覺得實踐中使用起來還是挺簡單方便…

分布式數據庫相關概念介紹

1、分布式數據庫的概念分布式數據庫系統&#xff08;Distributed Database System&#xff0c;DDBS&#xff09;是針對面向地理上分散&#xff0c;而管理上有需要不同程度集中管理的需求而提出的一種數據庫管理信息系統。2、分布式數據庫系統組成LDBMS(Local DBMS)&#xff1a;…

社會管理網格化 源碼_為什么說網格化管理是基層社會治理的有效武器

在社會治安綜合治理中網格化管理是當前各地加強基層社會治理的一種有效“武器”。為什么要說網格化管理是基層社會治理的有效“武器”&#xff1f;這就要為大家講講以下幾點了&#xff0c;好讓大家清楚的明白為什么。網格化管理適應當代社會的基本特性。網格化服務管理是當前城…

【Time系列一】datetime的妙用

今天在弄個自動關機小腳本的時候&#xff0c;遇到了時間轉換的問題&#xff0c;也難怪&#xff0c;以前沒學過&#xff0c; 不能怪我不會哦! 首先&#xff0c;先學會打印出當前時間的幾種方式 參考開源社區: http://my.oschina.net/u/1032854/blog/198179#OSC_h1_3 菜鳥編程:…

循環體內,字符串的連接方式,使用StringBuilder的append方法進行擴展

循環體內&#xff0c;字符串的連接方式&#xff0c;使用StringBuilder的append方法進行擴展

JS樹結構操作:查找、遍歷、篩選、樹結構和列表結構相互轉換

經常有同學問樹結構的相關操作&#xff0c;也寫了很多次&#xff0c;在這里總結一下 JS 樹形結構一些操作的實現思路&#xff0c;并給出了簡潔易懂的代碼實現。本文內容結構大概如下&#xff1a;JS樹結構相關操作1遍歷樹結構1. 樹結構介紹JS中樹結構一般是類似于這樣的結構&…

python框架django的使用_Django框架的基本使用,若依框架

Django框架的基本使用&#xff0c;若依框架Django框架的基本使用Django是一個功能強大的web框架框架模式1、MVC和MTV框架MVC&#xff1a;Web服務器開發領域里著名的MVC模式&#xff0c;所謂MVC就是把Web應用分為模型(M)&#xff0c;控制器(C)和視圖(V)三層&#xff0c;結構說明…

初學js

今天開始接觸js&#xff0c;知道了js的功能以及學習的意義&#xff0c; 今天從命名的規范和數值的規則就能看出js是1門非常嚴謹的課程&#xff0c;只有做好細節才能體現出js的強大之處&#xff0c; var是定義一個名字 var name1&#xff1b; 定義了還能賦值&#xff0c;可以是數…