摸了200+,丟人啊
time limit per test:1.0 seconds
time limit all tests:1.0 seconds
memory limit:256 megabytes
accept / submit:341 / 2134
魔法學校小學一年級有一種題。就是給乙個字的拼音,給乙個聲調,讓你正確地注音。但魔法老師給了巨量的題,你不用魔法根本不可能做完。所以現在要讓你發明一種魔法完成這個任務。
問題已經講完了,下面開始教授漢語。(會漢語或者自認為會漢語的可以自動跳過)
漢語中乙個字的拼音由聲母和韻母兩部分組成,在極少數情況下也會沒有聲母,但一定有韻母。
一般認為,聲母有 b, p, m, f, d, t, l, n, g, k, h, j, q, x, z, c, s, zh, ch, sh, r, y, w;韻母有:a, e, o, i, u, ü, ai, ei, ui, ao, ou, iu, ie, üe, er, an, en, in, un, ün, ang, eng, ing, ong。
不是所有的字母都能組合的,組合的時候有時會發生一些神奇的事情,例如 üe 變成了 ue。但是標調規則有如下口訣:
有 a 先找 a,沒 a 找 o e,i u 併排標在後,這樣標調不會錯。
只有下面列出的元素可能會被標調。請按照下表輸出(尤其注意 a 不要輸出成 ɑ 了):
輔助材料:由教育部公布的拼音方案。如果有描述不一致的地方,請以本題描述為準。
第一行乙個整數 t
(1≤t≤105
) 。
下面 t
行,每行乙個拼音:拼音聲調在各個拼音之後,用數字 [1-4] 進行表示。例如zhong1 guo2
。沒有數字的說明是輕聲,不用標調。
按照國際慣例,輸入檔案全部由 ascii 編碼組成。ü
用v
來代替。但在輸出中,應仍然用ü
來表示。
對於每一組資料,輸出case x: y
。其中 x 是從 1 開始的測試資料編號,y 是乙個拼音標調後的答案。
注意:對於非 ascii 字元的輸出,請使用 utf-8 編碼。
input
5zhong1
guo2
meque1
nv3
output
case 1: zhōngcase 2: guó
case 3: me
case 4: quē
case 5: nǚ
會 c/c++ 的魔法師最可愛了。
#include #include #include using namespace std;
int t;
const int maxn = 1e5+10;
string str[maxn];
string s[5][6]=
, ,,,
};int main()
// for(int i=0;i<5;i++)
// {
// for(int j=0;j<6;j++)
// {
// cout << s[i][j] <='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][0] ;
for(int l=j+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][3] ;
for(int l=j+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][1] ;
for(int l=j+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][4] ;
for(int l=k+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][2] ;
for(int l=k+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][2] ;
for(int l=j+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][4] ;
for(int l=j+1; l='a'&&str[i][str[i].length()-1]-'1'<='z')str[i]+="0";
cout << s[str[i][str[i].length()-1]-'0'][5] ;
for(int l=j+1; l
EOJ 3256 拼音魔法
time limit per test 1.0 seconds time limit all tests 1.0 seconds memory limit 256 megabytes 魔法學校小學一年級有一種題。就是給乙個字的拼音,給乙個聲調,讓你正確地注音。但魔法老師給了巨量的題,你不用魔法根本不...
教主的魔法 模擬
可以說是一些塊狀資料結構,用分塊陣列來進行乙個維護,然後對於每個被完整覆蓋的塊用乙個永久化標記來進行儲存一下,一道模板題。分塊陣列模版 include include include include include include include include include include in...
NOIP模擬 魔法數字
在數論領域中,人們研究的基礎莫過於數字的整除關係。一般情況下,我們說整除總在兩個數字間進行,例如 a b a能整除b 表示 b 除以 a 的餘數為 0 我們稱乙個數字 x 是魔法的,當且僅當 x 是整數,且它能被 k 及 k 以上種一位數整除,要求這若干種一位數均在 x 的十進位制表示中出現。給出整...