題目描述著名科學家盧斯為了檢查學生對進製的理解,他給出了如下的一張加法表,表中的字母代表數字。 例如:
+
++ l k v e
l l k v e
k k v e kl
v v e kl kk
e e kl kk kv
其含義為:
l+l=l,l+k=k,l+v=v,l+e=e
k+l=k,k+k=v,k+v=e,k+e=kl
…… e+e=kv
根據這些規則可推導出:l=0,k=1,v=2,e=3
同時可以確定該錶表示的是4進製加法
輸入輸出格式
輸入格式:
n (n≤9)表示行數。
以下n行,每行包括n個字串,每個字串間用空格隔開。(字串僅有乙個為『+』號,其它都由大寫字母組成)
輸出格式:
① 各個字母表示什麼數,格式如:l=0,k=1,……按給出的字母順序。
② 加法運算是幾進製的。
③ 若不可能組成加法表,則應輸出「error!」
輸入輸出樣例輸入樣例#1:5+
++ l k v e
l l k v e
k k v e kl
v v e kl kk
e e kl kk kv
輸出樣例#1:l=0 k=1 v=2 e=3
4
解釋:首先題意感覺不清,可以自己向簡單裡想,那樣很明顯就是n-1進製了,然後又n ≤\le≤ 9,那麼統計每行加法結果長度大於1的個數就行可,(觀察可發現這個規律),最後還要驗證一下這樣是不是正確,就ok啦
#include #include#include#includeusing namespace std;
mapg;
int n=0;
string str[12][12];
int s[12][12]=;
int t=0;
int num[12]=;
int main()
}for(int i=2;i<=n;i++)
for(int i=2;i<=n;i++)
bool mark=1;
char q[2];
q[1]='\0';
for(int i=2;i<=n;i++)
if(ret!=s[i][1]+s[1][j]) mark=0;}}
if(!mark)
for(int i=2;i<=n;i++)
cout
}
洛谷 P1013 進製位
題目描述 著名科學家盧斯為了檢查學生對進製的理解,他給出了如下的一張加法表,表中的字母代表數字。例如 l k v e l l k v e k k v e kl v v e kl kk e e kl kk kv 其含義為 l l l,l k k,l v v,l e e k l k,k k v,k v ...
洛谷 P1013 進製位 搜尋 進製運算
著名科學家盧斯為了檢查學生對進製的理解,他給出了如下的一張加法表,表中的字母代表數字。例如 l k v e l l k v e k k v e kl v v e kl kk e e kl kk kv其含義為 l l l,l k k,l v v,l e e k l k,k k v,k v e,k e ...
洛谷NOIP刷題 P1013 進製位
題目描述 著名科學家盧斯為了檢查學生對進製的理解,他給出了如下的一張加法表,表中的字母代表數字。例如 l l ll l l,l k kl k k,l v vl v v,l e el e e k l kk l k,k k vk k v,k v ek v e,k e klk e kl e e kve e...