洛谷 P1013 [NOIP 1998 提高组] 进制位 题目笔记

77 阅读1分钟

这道题的意思是给你一个加法表,通过加法表的运算得出未知数的值以及加法的进制。

这道题有两个重要的结论,一、N个数的加法表一定是N进制;二、每一行有几个二位数,这个数就是几。

而使用这两个结论,这道题难度也就下降很多了。

遍历加法表,使用strlen(s[i][l])判断是几位数,二位数的话就记录一下,几个二位数这个未知数就是几,记录完使用一个数组记下来S[i] = M。如果有重复的数,就ERROR。

得出每个未知数的值,就取遍历所有的位置,看相加的值是否正确。

相加操作定义一个函数,看一下表上的字母s[a][b]是否等于S[a] + S[b]。