28幻方
来源:互联网 发布:广联达软件下载教程 编辑:程序博客网 时间:2024/05/23 10:53
在娱乐性的数学里,一个n 度幻方共有n2个数字的排列,它们都是不同的整数,在一个方块中,n 个数字在所有行、所有列和所有对角线中的和都相同。例如,下图显示了一个使用了整数1~9 的3 度幻方。
2.输入描述
输入数据包含多个测试案例。
每个测试案例的第一行是一个整数 N(0 < N < 10),表示该数字方形的度数,然后下面是N 行,每行有N 个正整数描述了这个数字方形。输入数据中的所有数字不会超过1000。N=0 的测试案例表示输入的结束,不要处理它。
3.输出描述
对于每个测试案例,如果它是幻方,打印一个“Yes”在一行上,否则,打印“No”。
4.输入样例
2
1 2
3 4
2
4 4
4 4
3
8 1 6
3 5 7
4 9 2
4
16 9 6 3
5 4 15 10
11 14 1 8
2 7 12 13
0
5.输出样例
No
No
Yes
Yes #include "stdafx.h"#include<iostream>#include<fstream>#include<cmath>#include<set>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ifstream fin("D:\\visual studio 2013 code\\test.txt");int mat[10][10];int line[10], column[10];int mdia, ndia;int mat_size;set<int>mat_s;while (fin >> mat_size){mat_s.clear();mdia = 0;ndia = 0;if (mat_size == 0) break;for (int i = 0; i < mat_size; i++){for (int j = 0; j < mat_size; j++){fin >> mat[i][j];}}for (int i = 0; i < mat_size; i++){for (int j = 0; j < mat_size; j++){mat_s.insert(mat[i][j]);}}if (mat_s.size() != pow(mat_size,2)){cout << "No" << endl;continue;}for (int i = 0; i < mat_size; i++){line[i] = 0;column[i] = 0;}for (int i = 0; i < mat_size; i++){for (int j = 0; j < mat_size; j++){line[i] += mat[i][j];column[j] += mat[i][j];if (i == j){mdia += mat[i][j];}if (i+j==mat_size-1){ndia += mat[i][j];}}}mat_s.clear();mat_s.insert(mdia);mat_s.insert(ndia);for (int i = 0; i < mat_size; i++){mat_s.insert(line[i]);mat_s.insert(column[i]);}if (mat_s.size() != 1){cout << "No" << endl;}else{cout << "Yes" << endl;}}/*int mat[10] = { 0 };for (int i = 0; i < 10; i++){cout << mat[i]<<endl;}mat[2] = 0;mat[10] = { 0 };cout << "**********" << endl;for (int i = 0; i < 10; i++){cout << mat[i]<<endl;}*/return 0;}
0 0
- 28幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方
- 幻方之幻
- 奇数幻方
- 幻方构造
- 幻方问题
- 我的幻方
- 14.11 线程与Swing
- 算法中伪代码的书写
- Ansible vs SaltStack 谁才是自动化运维好帮手?
- poj 1936 c++ : 全在其中
- 关于python的bottle框架跨域请求报错问题的处理
- 28幻方
- mysql学习笔记01
- 杨辉三角
- 用Visual Studio查看汇编代码
- ubuntu系统安装eclipse
- 跟Google学写代码--Chromium/base--stl_util源码学习及应用
- 进程管理(一)
- QT开发之IP协议
- Android greenDAO的使用,工具类封装