题解 AT2203 【魔方陣2 / Magic Square 2】

ShineEternal

2018-07-06 16:24:46

Solution

楼下大佬使我十分佩服,但蒟蒻认为如果能写的简单,为什么要那么复杂呢? ``` #include<cstdio> using namespace std; int f[4][4]; int main() { int a,b,c; scanf("%d%d%d",&f[1][1],&f[1][2],&f[2][2]);//先把位置都放好 a=f[2][2]*3;//a记录行,列,斜线的和。我们知道,这种3*3的方格填数每一行,每一列,每一斜线的和都等于中间数的3倍 f[1][3]=a-f[1][1]-f[1][2]; f[3][1]=a-f[1][3]-f[2][2]; f[3][3]=a-f[1][1]-f[2][2]; f[2][1]=a-f[1][1]-f[3][1]; f[2][3]=a-f[2][1]-f[2][2]; f[3][2]=a-f[1][2]-f[2][2];//这一大段是计算,顺序很重要 for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { printf("%d ",f[i][j]);//矩阵输出 } printf("\n"); } return 0; } ``` **总结:本人利用了此题只为3*3的矩阵,有点投机取巧,但就这道题而言,还是一个通俗易懂的思路** 求过