{"problem":{"name":"测测你的矩阵乘法","description":{"content":"给定两个大小为均为 $512 \\times 512$，每个元素均为整数，值域为 $ [0, 1024) $ 矩阵 $A, B$，定义为 $$ \\begin{aligned} \tA\\left[i, j\\right] &= \\left(\\left(i \\mathbin{\\mathrm{or}} j\\right) + j\\right) \\mathbin{\\mathrm{xor}} \\mathrm{se","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":131072},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB3615"},"statements":[{"statement_type":"Markdown","content":"给定两个大小为均为 $512 \\times 512$，每个元素均为整数，值域为 $ [0, 1024) $ 矩阵 $A, B$，定义为\n\n$$ \\begin{aligned}\n\tA\\left[i, j\\right] &= \\left(\\left(i \\mathbin{\\mathrm{or}} j\\right) + j\\right) \\mathbin{\\mathrm{xor}} \\mathrm{seed}_A \\\\\n    B\\left[i, j \\right] &= \\left( \\left(i \\mathbin{\\mathrm{and}} j \\right) + i \\right) \\mathbin{\\mathrm{xor}} \\mathrm{seed}_B\n\\end{aligned} $$\n\n其中 $i, j \\in [0, 512)$。\n\n请计算 $C = A \\times B$。 \n\n## Input\n\n输入为两个整数 $\\mathrm{seed}_A, \\mathrm{seed}_B$（$0 \\leq \\mathrm{seed}_A, \\mathrm{seed}_B < 1024$）。\n\n你可以使用以下代码模板，完成其中的 `multiply` 即可。\n\n你可以修改 $N$（即数组长度），但是不能修改 $n$（矩阵大小，恒为 $512$）。\n\n```cpp\n#include <bits/stdc++.h>\nconst int n = 512, N = n;\nvoid multiply (int c[N][N], int a[N][N], int b[N][N]) {\n\t// c = a * b\n}\nint c[N][N], a[N][N], b[N][N];\nint main() {\n\tint seedA, seedB;\n\tscanf(\"%d%d\", &seedA, &seedB);\n    for (int i = 0; i < n; i++)\n        for (int j = 0; j < n; j++)\n            a[i][j] = ((i | j) + j) ^ seedA;\n    for (int i = 0; i < n; i++)\n        for (int j = 0; j < n; j++)\n            b[i][j] = ((i & j) + i) ^ seedB;\n    multiply(c, a, b);\n    for (int i = 0; i < n; i++) {\n        int sum = 0;\n        for (int j = 0; j < n; j++) sum ^= c[i][j];\n        printf(\"%d\\n\", sum);\n    }\n}\n```\n\n## Output\n\n输出 $512$ 行，分别是 $C$ 每行的异或和。\n\n输入中的代码会帮助你完成输出。\n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGB3615","tags":["数学","O2优化"],"sample_group":[["0 0","8126464\n14942208\n33554432\n...(省略506行)\n29097984\n146800640\n148570112"]],"created_at":"2026-03-03 11:09:25"}}