【codeforces 711B】Chris and Magic Square
【题目链接】:http://codeforces.com/contest/711/problem/B
【题意】
让你在矩阵中一个空白的地方填上一个正数;
使得这个矩阵两个对角线上的和;
每一行的和,每一列的和都相同;
【题解】
对于n=1的情况,任意输出一个数字就好;
对于n>1的情况;
先算出不包括空白格子的行的所有元素的和->he;
然后对于其他的可行的行和列,算出它们的和;
一旦与he不一样,直接输出-1无解;
然后包括空白格子的行和列,它们除了那个空白格子的和也要相同->设为sphe;
然后是对角线;
如果包括了空白格子,就先算出和;看看和sphe是不是一样;
如果不包括空白格子,算出的和直接与he比较;
两个对角线同理;
最后
sphe必须要小于he
即严格<不能相同
因为要为正数
【Number Of WA】
0
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define ps push_back
#define fi first
#define se second
#define rei(x) cin >> x
#define pri(x) cout << x
#define ms(x,y) memset(x,y,sizeof x)typedef pair<int,int> pii;
typedef pair<LL,LL> pll;const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 510;LL a[N][N],hang[N],lie[N],he=-1;
int n,sx,sy;int main()
{//freopen("F:\\rush.txt","r",stdin);ios::sync_with_stdio(false);rei(n);if (n==1)return pri(1<<endl),0;rep1(i,1,n)rep1(j,1,n){rei(a[i][j]);if (!a[i][j])sx = i,sy = j;}rep1(i,1,n){LL temp = 0;rep1(j,1,n)temp+=a[i][j];hang[i] = temp;if (sx==i) continue;if (he==-1)he = temp;elseif (he!=temp)return pri(-1<<endl),0;}rep1(j,1,n){LL temp = 0;rep1(i,1,n)temp+=a[i][j];lie[j] = temp;if (sy==j) continue;if (he!=temp)return pri(-1<<endl),0;}bool in1 = false;LL he1 = 0;rep1(i,1,n){if (i==sx && i==sy) in1 = true;he1+=a[i][i];}if (!in1 && he1!=he) return pri(-1<<endl),0;if (in1 && he1!=hang[sx]) return pri(-1<<endl),0;bool in2 = false;LL he2 = 0;rep1(i,1,n){if (i==sx && n-i+1==sy) in2 = true;he2+=a[i][n-i+1];}if (!in2 && he2!=he) return pri(-1<<endl),0;if (in2 && he2!=hang[sx]) return pri(-1<<endl),0;if (hang[sx]<he){pri(he-hang[sx]);}elsepri(-1<<endl);//printf("\n%.2lf sec \n", (double)clock() / CLOCKS_PER_SEC);return 0;
}
转载于:https://www.cnblogs.com/AWCXV/p/7626444.html
【codeforces 711B】Chris and Magic Square相关推荐
- Codeforces Round #369 (Div. 2) B. Chris and Magic Square【数学,模拟】
B. Chris and Magic Square time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- CodeForces - 711B Chris and Magic Square
CodeForces - 711B Chris and Magic Square 题意:给你一个N*N矩阵,其中0代表未知的那个数,让你在这个位置填上一个数使整个矩阵的 每一行.每一列.主对角线 ...
- 【CodeForces - 144C】Anagram Search(尺取,滑窗问题,处理字符串计数)
题干: A string t is called an anagram of the string s, if it is possible to rearrange letters in t so ...
- 【CodeForces - 574B】Bear and Three Musketeers (枚举边,思维,优秀暴力)
题干: Do you know a story about the three musketeers? Anyway, you will learn about its origins now. Ri ...
- 【CodeForces - 608C】Chain Reaction (二分 或 dp ,思维)
题干: 题目大意: 题意是在一条直线上坐落着不同位置的灯塔,每一个灯塔有自己的power level,当作是射程范围.现在从最右边的灯塔开始激发,如果左边的灯塔在这个灯塔的范围之内,那么将会被毁灭.否 ...
- cf369 B Chris and Magic Square
B. Chris and Magic Square time limit per test2 seconds memory limit per test256 megabytes inputstand ...
- 「一题多解」【CodeForces 85D】Sum of Medians(线段树 / 分块)
题目链接 [CodeForces 85D]Sum of Medians 题目大意 实现一个setsetset,支持插入,删除,求∑a5k+3∑a5k+3\sum a_{5k+3}.注意,setsets ...
- B. Chris and Magic Square
B. Chris and Magic Square time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- Chris and Magic Square
Chris and Magic Square ZS the Coder and Chris the Baboon arrived at the entrance of Udayland. There ...
最新文章
- 强化学习(四)—— DQN系列(DQN, Nature DQN, DDQN, Dueling DQN等)
- elasticSearch6源码分析(5)gateway模块
- 深入理解分布式技术 - Paxos 算法解读
- tomcat(9)Session管理
- 4021-基于链地址法的散列表的删除(C++,附思路)
- GraphicsMagick+im4java图片处理
- 计算机网络数据链路层之点对点协议PPP
- poi 拆分带图片的word_POI导出简单的带有图片的Word文档
- ★★★★★手把手教你如何利用凤凰实现破 解后台权限以及升级固件(刷机)★★★★★
- 淘宝客APP源码社交电商uniapp开发源码前端源码自营商城
- 教孩子学编程_教孩子编程的10种工具
- dagre-d3 基于d3.js v4版本以上
- 自信满满,一路前行!
- 【计算机网络】(5)ping的过程分析+icmp协议
- 关于VMware: vmw_ioctl_command error Invalid argument.解决办法
- 【字符集】解决docker 容器中中文乱码问题
- 让curl支持IE代理
- 小程序上传文件报错uploadFile:fail url scheme is invalid,uploadFile:fail createUploadTask:fail Error: Invalid
- JavaSEDemo33
- 不装wine,你的.NET程序照样可以在Linux上运行!
热门文章
- IGMP Internet组管理协议 未完
- 《python3网络爬虫开发实战》第一章、开发环境配置-问题汇总
- Taurus.MVC 支持Asp.Net Core 的过程
- PHP ‘ext/soap/soap.c’权限许可和访问控制
- 简单module_深入理解JavaScript之全面解析Module模式
- Docker网络模型(八)
- 您试图打开以前版本的Microsoft Office创建的文件。注册表策略设置已阻止此文件在该版本中打开的解决办法
- Proxmox系列:简单实现虚拟机迁移
- Java反射之如何判断类或变量、方法的修饰符(Modifier解析)
- [验证码识别技术]-初级的滑动式验证图片识别