P8228 「Wdoi-5」模块化核熔炉题目背景为了通过使用核聚变获得能源守矢神社在旧地狱修建了巨大的核融合控制中心。控制中心形如双层八卦炉通过各种电路紧密地调控着核融合的精密运行。获得了八咫鸟力量的阿空会在核反应炉的中心点燃神火。但是正八边形的八卦炉并不利于进行拓展与维护。为了方便地实现电路河童打算对核控制中心进行模块化改造以实现核熔炉的维护。具体而言河童打算将核控制中心设计成由若干个正六边形组成的巨大结构。被赋予了神力的阿空可以依次激发其中的一些模块而这些被激发的模块会快速影响到一定范围内的其他的模块。通过模块间的链接实现能量的产生。但是因为阿空脑袋空空由于它已经激发了多次模块它已经记不清每个模块当中产生的核融合程度了。你能帮帮它吗题目描述核控制中心可以看作由若干个正六边形模块组成的六边形阵列。阵列当中每个模块都可以储存核融合能量一个非负整数。左图就是一个核控制中心示意图。我们使用如下方式对控制中心中每个模块进行标号。以阵列中心为原点延伸出三根射线作为三根轴每两根轴之间的夹角为120°120\degree120°。这三根轴将平面划分为了三个部分。每个模块都可以使用一个三元组(x,y,z)(x,y,z)(x,y,z)描述它的坐标表示从原点开始按如图所示的x,y,zx,y,zx,y,z方向各走若干步之后到达的地方。为了防止出现多个坐标表示同一个模块的情况做出如下规定原点的坐标为(0,0,0)(0,0,0)(0,0,0)对于中心在坐标轴上的模块它的坐标就是从原点向所在轴走过的距离对于其他情况我们将平面划分为了三个区域如第二张图的红蓝绿三个区域一个模块的坐标就是沿着它两侧的轴分别需要走的距离。例如模块PPP的坐标为(2,4,0)(2,4,0)(2,4,0)。容易发现每个坐标唯一对应一个模块一个模块唯一对应一个坐标。同时定义两个模块的距离为从一个模块到另一个模块需要经过模块包括起点和终点的最少个数。在第一张图中红色部分的模块到其中心距离均不超过333绿色部分的模块到其中心距离均不超过333而蓝色部分的模块到其中心距离均不超过222。核控制中心可以视为到达原点距离不超过nnn的模块组成的阵列。现在阿空会执行以下操作mmm次x y z r k\colorbox{f0f0f0}{\verb!x y z r k!}x y z r k激活坐标为(x,y,z)(x,y,z)(x,y,z)的模块。它会使控制中心中到它距离不超过rrr的所有的模块的核融合能量增加kkk。保证(x,y,z)(x,y,z)(x,y,z)在控制中心当中。现在需要求出执行完mmm个操作后每个模块里核融合能量值。输入格式第一行共两个正整数n,mn,mn,m分别表示控制中心的大小、操作个数。接下来mmm行每行有五个整数xi,yi,zi,ri,kix_i,y_i,z_i,r_i,k_ixi,yi,zi,ri,ki表示将距离(xi,yi,zi)(x_i,y_i,z_i)(xi,yi,zi)不超过rrr的所有模块的核融合能量增加kik_iki。输出格式共一行若干个整数。按照从左往右从上往下的顺序依次输出每个模块当中核融合能量值。每两个值之间使用空格隔开。下图当中的红色箭头展示了「从左往右从上往下」的顺序。输入输出样例 #1输入 #14 3 0 1 1 3 4 3 0 3 3 3 1 0 0 2 2输出 #14 4 4 0 4 4 4 4 3 4 4 4 4 7 3 0 4 4 6 9 3 3 0 4 6 6 5 3 0 0 2 2 3 0 0 0 0说明/提示样例222见下发的附件nuclear2.in/nuclear2.ans\textbf{\textit{nuclear2.in/nuclear2.ans}}nuclear2.in/nuclear2.ans。样例333见下发的附件nuclear3.in/nuclear3.ans\textbf{\textit{nuclear3.in/nuclear3.ans}}nuclear3.in/nuclear3.ans。满足特殊性质A\text{A}A见下文。样例444见下发的附件nuclear4.in/nuclear4.ans\textbf{\textit{nuclear4.in/nuclear4.ans}}nuclear4.in/nuclear4.ans。满足特殊性质B\text{B}B见下文。样例555见下发的附件nuclear5.in/nuclear5.ans\textbf{\textit{nuclear5.in/nuclear5.ans}}nuclear5.in/nuclear5.ans。样例 1 解释如图所示所有未标出数字的模块的核融合能量值均为000按照从左往右、从上往下的顺序依次输出每个数值即可得到答案。数据范围及约定本题共有202020个测试点每个测试点555分。最终分数为所有测试点分数之和。Taskn≤m≤特殊性质1∼31010A4∼7100300−8∼108003×105B11∼148003×105A15∼208003×105− \def\arraystretch{1.5} \begin{array}{|c|c|c|c|}\hline \textbf{Task} \bm{n\le } \bm{m\le} \textbf{特殊性质} \cr\hline 1\sim 3 10 10 \text{A} \cr\hline 4\sim 7 100 300 - \cr\hline 8\sim 10 800 3\times 10^5 \text{B} \cr\hline 11\sim 14 800 3\times 10^5 \text{A} \cr\hline 15\sim 20 800 3\times 10^5 - \cr\hline \end{array}Task1∼34∼78∼1011∼1415∼20n≤10100800800800m≤103003×1053×1053×105特殊性质A−BA−特殊性质A\textbf{A}A保证对于第iii次操作被激活的模块到控制中心边缘上的模块的距离不小于rir_iri。特殊性质B\textbf{B}B保证对于第iii次操作被激活的模块均为(0,0,0)(0,0,0)(0,0,0)。对于全部数据保证n≤800n\le 800n≤800m≤3×105m\le 3\times 10^5m≤3×1051≤ki≤5×1031\le k_i\le 5\times 10^31≤ki≤5×1031≤ri≤1091\le r_i\le 10^91≤ri≤109。每次激活的模块都在控制中心里。C实现#includebits/stdc.h#definelllonglong#defineN1601usingnamespacestd;intn,m,d;ll a[N][N],b[N][N];intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cinnm;d2*n-1;while(m--){intx,y,z,r,k,p,q;cinxyzrk;px-zn;qy-xn;a[p][min(d,qr-1)]-k;a[max(1,p-r1)][min(d,qr-1)]k;a[p][max(0,q-r)]-k;a[min(d1,pr)][max(0,q-r)]k;px-zn;qy-zn;b[p][min(d,qr-1)]k;b[min(d1,pr)][min(d,qr-1)]-k;b[p][max(0,q-r)]k;b[max(1,p-r1)][max(0,q-r)]-k;}for(inti1;id;i)for(intj1;jd;j)a[i][j]a[i-1][j];for(inti1;id;i)for(intjd;j1;j--)a[i][j]a[i][j1];for(inti1;id;i)for(intj1;jd;j)b[i][j]b[i-1][j];for(inti1;id;i)for(intjd;j1;j--)b[i][j]b[i][j1];for(inti-n1;in-1;i)for(intjn-1;j1-nabs(i);j--){ll x0,yj,z0;(i0)?z-i:xi;couta[x-zn][y-xn]b[x-zn][y-zn] ;}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容