题意:

  就是给出一连串的数字 这些数字是从第一个数字依次走过的

  

  emm。。就是这样。。  然后让你判断这个矩阵是否存在  如果存在输出行和列的数量  其中行。。开到最大就好了。。。主要是判断列

  在输入的这些数中  如果出现一个数字和上一个不是连续的数字  则就能判断列了 y = abs(a[i] - a[i-1])  然后如果再有不连续的 判断一下是否符合

  abs(a[i] - a[i-1])= y  如果不符合 则NO  当然还有两个坑,,,1、可能a[i] == a[i-1]这样也是NO  因为题中说是走到四个方向

  2、在知道y以后 如果a[i]和a[i-1]连续 但a[i]%y == 0 这样也是NO 例如上图中的3 和 4 是不能一步从3 到 4 的   当然4也不能到3

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6;
int a[maxn];
int main()
{
int n, y = ;
cin>> n;
for(int i=; i<n; i++)
{
cin>> a[i];
if(i == )
continue;
if(a[i] == a[i-])
{
cout<< "NO" <<endl;
return ;
}
if(abs(a[i] - a[i-]) != )
y = abs(a[i] - a[i-]);
}
for(int i=; i<n; i++)
{
if(abs(a[i] - a[i-]) != && abs(a[i] - a[i-]) != y)
{
cout<< "NO" <<endl;
return ;
}
if(a[i] % y == && a[i - ] - a[i] == && y != ) {
cout<<"NO"<<endl;return ;
} else if(a[i] % y == && a[i] - a[i - ] == && y != ) {
cout<<"NO"<<endl;return ;
}
}
cout<<"YES"<<endl<<<<' '<<y<<endl; return ;
}

最新文章

  1. JavaScript高级编程 (2) - HTML 与 JavaScript
  2. [转载]五种常见的电子商务模式对比:B2B、B2C、C2B、C2C、O2O
  3. FreeBSD 查看硬件信息
  4. Redis主从在线互相切换
  5. storm kafka整合
  6. react native ScrollView
  7. DiskFileItemFactory类---分析及运用
  8. Hadoop学习总结之五:Hadoop的运行痕迹
  9. Border - SGU 133(排序)
  10. 编写爬虫程序的神器 - Groovy + Jsoup + Sublime(转)
  11. 更好列表页中一个航班.先unset删除数组中一个键值对,再追加,最后按键排序
  12. golang channel无缓冲通道会发生阻塞的验证
  13. 开始使用HTML5和CSS3验证表单
  14. 微信小程序调用高德地图
  15. vue版 弹幕
  16. javascript中click和onclick的区别
  17. python第九十五天--js正则
  18. what&#39;s the 跨期套利
  19. 【转】AD转换中常用的十种数字滤波法
  20. c#中的数组、ArrayList、List区别【转】

热门文章

  1. day 8 list列表
  2. hdu2065&quot;红色病毒&quot;问题(指数母函数+快速幂取模)
  3. json简单操作
  4. Jenkins Git安装设置
  5. HDU-1053:Advanced Fruits(LCS+路径保存)
  6. 阿里与ShopRunner达成协议 联手在国内推出服务
  7. Polycarp and Letters(set首战!)
  8. 王者荣耀交流协会final发布中间产物
  9. 四则运算(Android)版
  10. 电梯V2.0