P3923 大学数学题

题目背景

琪露诺:我知道了!答案一定是1! 露米娅:什么鬼啊(汗),你还是再想想去吧。。我先把最后一道题给你,这是一道大学数学题哦

题目描述

露米娅:大妖精想构造一个 $ n $ 元有限域,元素用 $ 0 \sim n - 1 $ 的整数表示。 有限域需要满足以下条件: 1. 有加法单位元 $ o $ ,满足对于任意元素 $ a $ , $ o + a = a + o = a $; 2. 对于任意元素 $ a $ ,存在加法逆元 $ a^{-1} $ ,使得 $ a + a^{-1} = a^{-1} + a = o $; 3. 有不同于加法单位元 $ o $ 的乘法单位元 $ i $ ,满足对于任意元素 $ a $ , $ i \times a = a \times i = a $; 4. 对于任意非加法单位元元素 $ a $ ,存在乘法逆元 $ a^{-1} $ ,使得 $ a \times a^{-1} = a^{-1} \times a = i $; 5. 对于任意元素 $ x $ , $ y $ ,有加法交换律,即 $ x + y = y + x $; 6. 对于任意元素 $ x $ , $ y $ ,有乘法交换律,即 $ x \times y = y \times x $; 7. 对于任意元素 $ x $ , $ y $ , $ z $ ,有加法结合律,即 $ ( x + y ) + z = x + ( y + z ) $; 8. 对于任意元素 $ x $ , $ y $ , $ z $ ,有乘法结合律,即 $ ( x \times y ) \times z = x \times ( y \times z ) $; 9. 对于任意元素 $ x $ , $ y $ , $ z $ ,有乘法分配律,即 $ ( x + y ) \times z = x \times z + y \times z $。 大妖精当然会做啦,但是他想考考你。 在输出中加法单位元 $ o $ 即为 $ 0 $,乘法单位元 $ i $ 即为 $ 1 $。

输入格式

一个正整数 $ n $($ 2 \leq n \leq 350 $)。

输出格式

第一行输出一个整数 $ k $ ,若存在 $ n $ 元有限域则 $ k = 0 $ ,否则 $ k = -1 $。 若 $ k = 0 $ 则: 1. 接下来 $ n $ 行输出一个 $ n $ 元有限域的加法表,第 $ i + 1 $ 行第 $ j + 1 $ 列上的数代表有限域中 $ i + j $ 的运算结果; 2. 接下来 $ n $ 行输出一个 $ n $ 元有限域的乘法表,第 $ i + 1 $ 行第 $ j + 1 $ 列上的数代表有限域中 $ i \times j $ 的运算结果。 共输出 $ n \times 2 + 1 $ 行。 upd1: SPJ 非常严格,请不要在行末输出多余空格(答案文件末尾的换行还是会自动忽略的) upd2: 正解文件比较大,洛谷可能会一直 judging... 如果遇到这种情况请直接提交源代码

说明/提示

| 测试点 | $ n $ 的范围 | 特殊性质| | :-------: | :----------: | :-----------------: | |1 | $ n = 3 $ | $ n $ 是质数 | |2 | $ n = 4 $ | $ n $ 是 $ 2 $ 的整数次方 | |3 | $ n = 6 $ | 无 | |4 | $ n = 8 $ | $ n $ 是 $ 2 $ 的整数次方 | |5 | $ n = 9 $ | 无 | |6 | $ n = 19 $ | $ n $ 是质数 | |7 | $ n = 89 $ | $ n $ 是质数 | |8 | $ n = 181 $ | $ n $ 是质数 | |9 | $ n = 233 $ | $ n $ 是质数 | |10| $ n = 25 $ | $ n $ 是质数的平方| |11| $ n = 121 $ | $ n $ 是质数的平方| |12| $ n = 169 $ | $ n $ 是质数的平方| |13| $ n = 27 $ | 无 | |14| $ n = 143 $ | 无 | |15| $ n = 128 $ | $ n $ 是 $ 2 $ 的整数次方 | |16| $ n = 81 $ | 无 | |17| $ n = 125 $ | 无 | |18| $ n = 243 $ | 无 | |19| $ n = 256 $ | $ n $ 是 $ 2 $ 的整数次方 | |20| $ n = 343 $ | 无 |