SDNU 1176.Jam的计数法(思维)
生活随笔
收集整理的這篇文章主要介紹了
SDNU 1176.Jam的计数法(思维)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Description
Jam不使用阿拉伯?dāng)?shù)字計(jì)數(shù),而是使用小寫英文字母計(jì)數(shù)。他的計(jì)數(shù)法中,每個(gè)數(shù)字的位數(shù)都是相同的(使用相同個(gè)數(shù)的字母),英文字母按原先的順序,排在前面的字母小于排在它后面的字母。我們把這樣的“數(shù)字”稱為Jam數(shù)字。在Jam數(shù)字中,每個(gè)字母互不相同,而且從左到右是嚴(yán)格遞增的。每次,Jam還指定使用字母的范圍,例如,從2到10,表示只能使用{b,c,d,e,f,g,h,i,j}這些字母。如果再規(guī)定位數(shù)為5,那么,緊接在Jam數(shù)字“bdfij”之后的數(shù)字應(yīng)該是“bdghi”。(如果我們用U、V依次表示Jam數(shù)字“bdfij”與“bdghi”,則U < V,且不存在Jam數(shù)字P,使U < P < V)。你的任務(wù)是:對于從文件讀入的一個(gè)Jam數(shù)字,按順序輸出緊接在后面的5個(gè)Jam數(shù)字,如果后面沒有那么多Jam數(shù)字,那么有幾個(gè)就輸出幾個(gè)。Input
輸入有2行,第1行為3個(gè)正整數(shù),用一個(gè)空格隔開: s t w (其中s為所使用的最小的字母的序號,t為所使用的最大的字母的序號。w為數(shù)字的位數(shù),這3個(gè)數(shù)滿足:1≤s<T≤26, 2≤w≤t-s ) 第2行為具有w個(gè)小寫字母的字符串,為一個(gè)符合要求的Jam數(shù)字。 所給的數(shù)據(jù)都是正確的,不必驗(yàn)證。Output
輸出最多為5行,為緊接在輸入的Jam數(shù)字后面的5個(gè)Jam數(shù)字,如果后面沒有那么多Jam數(shù)字,那么有幾個(gè)就輸出幾個(gè)。每行只輸出一個(gè)Jam數(shù)字,是由w個(gè)小寫字母組成的字符串,不要有多余的空格。Sample Input
5 25 10 efghijkluwSample Output
efghijklux efghijkluy efghijklvw efghijklvx efghijklvySource
NOIP 2006 普及組 #include<bits/stdc++.h> using namespace std;#define ll long long #define eps 1e-9 #define pi acos(-1)const int inf = 0x3f3f3f3f; const int mod = 1000000007; const int maxn = 100 + 8;int s, t, w; char ss[maxn], si[maxn];int main() {std::ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> s >> t >> w;cin >> ss;si[w - 1] = 96 + t;///用si數(shù)組來儲(chǔ)存最終的字符串for(int i = w - 2; i >= 0; i--)si[i] = si[i + 1] - 1;for(int i = 0; i < 5; i++)///五次 {bool flag = 1;int id = w - 1;while(ss[id] == si[id])id--;ss[id]++;for(int i = id + 1; i < w; i++)ss[i] = ss[i - 1] + 1;for(int i = 0; i < w; i++)if(ss[i] != si[i])///判斷該字符串是不是已經(jīng)達(dá)到了最終字符串flag = 0;for(int i = 0; i < w; i++)cout << ss[i];cout << '\n';if(flag)break;///如果已經(jīng)為最終字符串,就停止 }return 0; }?
轉(zhuǎn)載于:https://www.cnblogs.com/RootVount/p/11502447.html
總結(jié)
以上是生活随笔為你收集整理的SDNU 1176.Jam的计数法(思维)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gitlab 修改git clone地址
- 下一篇: SDNU 1178.能量项链(区间dp)