CF1004D Sonya and Matrix
不要想当然。
考虑到我们一定有存在个数为\(4\)的倍数的数。
否则第一个不是的数即为\(x\)。
那么我们设\(b\)为所有的数的最大值。
那么显然有\(|n - x| + |m - y| = b\)
那么有\(y = n + m - x - b\)
所以我们只要暴力枚举\(t\)的约数,然后暴力判断。
#include<iostream>
#include<cstdio>
#define ll long long
#define N 1000010
ll cnt[N << 1],ct[N << 1];
ll a,b,x,y;
ll t;
ll abs(ll x){return x > 0 ? x : -x;}
int main(){
scanf("%lld",&t);
for(int i = 1;i <= t;++i){
ll x;
scanf("%lld",&x);
cnt[x] ++ ;
b = std::max(x,b);
}
for(int i = 1;i <= t;++i){
if(cnt[i] < i * 4){
x = i;
break;
}
}
for(int i = 1;i <= t;++i){
if(t % i == 0){
int n,m;
n = i,m = t / i;
y = n + m - x - b;
if(abs(n - x) + abs(m - y) == b){
for(int i = 1;i <= t;++i)
ct[i] = 0;
for(int j = 1;j <= n;++j)
for(int k = 1;k <= m;++k)
ct[abs(j - x) + abs(k - y)] ++ ;
bool k = 1;
for(int i = 1;i <= t;++i)
if(cnt[i] != ct[i])
{
k = 0;
break;
}
if(k){
std::cout<<n<<" "<<m<<std::endl<<x<<" "<<y<<std::endl;
return 0;
}
}
}
}
puts("-1");
return 0;
}
CF1004D Sonya and Matrix的更多相关文章
- 【题解】Sonya and Matrix Beauty [Codeforces1080E]
[题解]Sonya and Matrix Beauty [Codeforces1080E] 传送门:\(Sonya\) \(and\) \(Matrix\) \(Beauty\) \([CF1080E ...
- codeforces 495D Sonya and Matrix
Since Sonya has just learned the basics of matrices, she decided to play with them a little bit. Son ...
- Codeforces Round #495 (Div. 2) D. Sonya and Matrix
http://codeforces.com/contest/1004/problem/D 题意: 在n×m的方格中,选定一个点(x,y)作为中心点,该点的值为0,其余点的值为点到中心点的曼哈顿距离. ...
- Sonya and Matrix CodeForces - 1004D (数学,构造)
http://codeforces.com/contest/1004/problem/D 题意:网格图给定到中心点的曼哈顿距离数组, 求该图n,m及中心点位置 首先可以观察到距离最大值mx一定在某个角 ...
- Codeforces Round #524 (Div. 2) E. Sonya and Matrix Beauty(字符串哈希,马拉车)
https://codeforces.com/contest/1080/problem/E 题意 有一个n*m(<=250)的字符矩阵,对于每个子矩阵的每一行可以任意交换字符的顺序,使得每一行每 ...
- Codeforces Round #495 (Div. 2) Sonya and Matrix
正常没有正方形的限制下,值为i的点个数4i 那么从0开始遍历,第一个不为4i的值就是min(x, y) 由于对称性我们姑且令x为这个值 我们先列举n*m=t的各种情况 对于一对n, m.我们已经知道n ...
- Sonya and Matrix Beauty Codeforces - 1080E
https://codeforces.com/contest/1080/problem/E 比赛时候一个多小时码不出来... 来看遇到的困难: 1.没有能用的随机unsignedlonglong函数 ...
- Sonya and Matrix Beauty CodeForces - 1080E (manacher)
大意: 给定$nm$字符串矩阵. 若一个子矩形每一行重排后可以满足每行每列都是回文, 那么它为好矩形. 求所有好矩形个数. 一个矩形合法等价于每一行出现次数为奇数的最多只有一个字符, 并且对称的两行对 ...
- Codeforces Round #524 (Div. 2) Solution
A. Petya and Origami Water. #include <bits/stdc++.h> using namespace std; #define ll long long ...
随机推荐
- UE4蓝图AI角色制作(四)之Gameplay调试器
8. 寻路网格体和Gameplay调试器 为了及时识别出AI系统中的导航问题,UE4提供了一个工具用来解决这类问题,它叫Gameplay调试器.打开项目设置,在左侧找到"引擎",然 ...
- 【c++ Prime 学习笔记】第18章 用于大型程序的工具
大规模应用程序的特殊要求包括: 在独立开发的子系统之间协同处理错误:异常处理 使用各种库(可能包含独立开发的库)进行协同开发:命名空间 对比较复杂的应用概念建模:多重继承 18.1 异常处理 异常处理 ...
- HttpClient.PatchAsJsonAsync - dotnet/runtime 项目贡献小记
TL;DR 迫于 PatchAsJsonAsync 方法缺失,我给 dotnet/runtime 项目贡献了相关的 API,可惜要到 .NET7 才能用上. https://github.com/do ...
- [对对子队]会议记录4.16(Scrum Meeting7)
今天已完成的工作 何瑞 工作内容:完成成本和分数系统 相关issue:实现成本和分数系统的逻辑 相关签入:4.16签入1 吴昭邦 工作内容:对接流水线和成本和分数系统 相关issu ...
- 8M的摄像头,30fps摄像时,60hz的LCD刷新频率,请问camera每秒向BB传输多少数据,如何计算
8M的摄像头,30fps摄像时,60hz的LCD刷新频率,请问camera每秒向BB传输多少数据,如何计算 xiang2012 Post at 2012/8/7 10:37:33 8M的摄像头,30f ...
- stm32驱动超声波模块
下面是关于stm32驱动超声波模块的一段代码,有需要的朋友可以复制参考,希望对大家能够有所帮助和启发. #define HCSR04_PORT GPIOB #define HCSR04_CLK RCC ...
- [源码解析] PyTorch 如何实现后向传播 (4)---- 具体算法
[源码解析] PyTorch 如何实现后向传播 (4)---- 具体算法 目录 [源码解析] PyTorch 如何实现后向传播 (4)---- 具体算法 0x00 摘要 0x01 工作线程主体 1.1 ...
- yum history使用详解(某次为解决误卸载软件的回退实验)
[root@localhost ~]# yum history list #查看历史 Loaded plugins: fastestmirror ID | Command line | Date an ...
- PCIE学习笔记--TLP Header详解(三)
目录篇地址为:http://blog.chinaaet.com/justlxy/p/5100053481 Completions Completions的TLP Header的格式如下图所示: 这里来 ...
- OSI模型 & TCP/IP模型
分层思想 分层思想:将复杂 的流程分解 为几个功能相对单一 的子过程 整个流程更加清晰 ,复杂问题简单化 更容易发现问题并针对性的解决问题 分层思想在网络中的应用 OSI模型 国际标准化组织(Inte ...