HDU 5143 NPY and arithmetic progression(思维)
http://acm.hdu.edu.cn/showproblem.php?pid=5143
题意:
给定数字1,2,3,4.的个数每个数字能且仅能使用一次,组成多个或一个等差数列(长度大于等于3),问能否成功。
思路:
可以发现等差数列只有(123,234,1234和长度>=3的常数列),如果选择非常数数列(123,234,1234)数量大于等于3,
可以变为三个或4个常数列,例如(123,123,123)变为(111,222,333)。所以从0-2枚举选择非常数列的数量,再判断能否用常数列覆盖剩下的(如果数字长度正好为0或≤3就可以)。
1 #include<iostream> 2 #include<algorithm> 3 #include<cstring> 4 #include<cstdio> 5 #include<sstream> 6 #include<vector> 7 #include<stack> 8 #include<queue> 9 #include<cmath> 10 #include<map> 11 #include<set> 12 using namespace std; 13 typedef long long ll; 14 typedef pair<int,int> pll; 15 const int INF = 0x3f3f3f3f; 16 const int maxn = 10000+5; 17 18 int a1,a2,a3,a4; 19 20 bool check(int a, int b, int c, int d) 21 { 22 if((a>=3||a==0)&&(b>=3||b==0)&&(c>=3||c==0)&&(d>=3||d==0)) return true; 23 return false; 24 } 25 26 int main() 27 { 28 //freopen("in.txt","r",stdin); 29 int T; 30 scanf("%d",&T); 31 while(T--) 32 { 33 scanf("%d%d%d%d",&a1,&a2,&a3,&a4); 34 bool flag = false; 35 if(check(a1,a2,a3,a4)) flag=true; 36 else 37 for(int i=0;i<=2;i++) 38 { 39 for(int j=0;j<=2;j++) 40 { 41 for(int k=0;k<=2;k++) 42 { 43 if(check(a1-i-k,a2-i-j-k,a3-i-j-k,a4-j-k)) flag=true; 44 } 45 } 46 } 47 if(flag) puts("Yes"); 48 else puts("No"); 49 } 50 return 0; 51 }
转载于:https://www.cnblogs.com/zyb993963526/p/7563284.html
HDU 5143 NPY and arithmetic progression(思维)相关推荐
- HDU5142 NPY and arithmetic progression BestCoder Round #23 1002
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5143 解题思路:BestCoder官方题解: 可以发现等差数列只有(123,234,1234和长度&g ...
- Almost Arithmetic Progression
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- Almost Arithmetic Progression(CF-978D)
Problem Description Polycarp likes arithmetic progressions. A sequence [a1,a2,-,an] is called an ari ...
- 奇思妙想构造题 ARC145 D - Non Arithmetic Progression Set
Non Arithmetic Progression Set 大意: 给定m,n 要求构造一个序列: 长度=n,元素和=m,任意三个元素无法构成等差数列,|a[i]|<=1e7 思路: 一开始这 ...
- cf----2019-10-20(Consecutive Subsequence,Almost Arithmetic Progression,Mentors)
一场游戏一场空,最终 最初都由我掌控,好像一身从容,不曾有狼狈伤痛,可深夜一个人该如何相拥? You are given an integer array of length nn. You have ...
- hdu 5247 找连续数(思维)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5247 找连续数 Time Limit: 2000/1000 MS (Java/Others) M ...
- HDU - 4388 Stone Game II(博弈+思维)
题目链接:点击查看 题目大意:最初有n堆石子,每堆石子的数目已知,现在有两个人轮流按照下列规则操作,不能操作的一方即为失败 首先选择一堆石子,设该堆石子目前有x个,从中拿走a个石子,剩下了k个石子,a ...
- 【HDU - 2203】 亲和串 (思维题,可选KMP)
题干: Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了, ...
- hdu 5144 NPY and shot(三分)
http://acm.hdu.edu.cn/showproblem.php?pid=5144 题意 :给出初速度 v 和高度 h 求最远斜抛距离 思路:根据物理公式推出 距离 s=v*cos(x)* ...
- (HDU - 4857)逃生(拓扑+思维)
题目链接:Problem - 4857 (hdu.edu.cn) 本题就是让我们在他给定的前后顺序前提下求出对应的拓扑排序,要保证小号尽量靠前. 我刚开始做这道题目时就直接认为这就是一个拓扑排序模板, ...
最新文章
- Xcode_9_beta.xip 更新下载
- git config --global写到哪里?
- Tensorflow搞一个聊天机器人
- jsp mysql在线考试系统源码_jsp+ssm+mysql实现的学生在线考试系统项目源码附带视频导入运行教程...
- 樊登高效休息法心得400字_真的,你应该早点知道这个高效学习方法
- 只出现一次的数字—leetcode136
- C语言 共享库(动态库)制作
- why SpringComponentScanServer is needed
- 许昌:让便捷支付成为智慧城市新名片
- 数据结构与算法学习笔记02-双向链表
- 谷歌推出针对AI歧视的新课程!60分钟的ML公平自学训练模块 | 资源
- wxpython菜单的位置_wx.grid 怎么加菜单呀!
- spring cloud微服务分布式云架构-Spring Cloud 分布式的五大重点
- 从零开始的Python学习Episode 19——面向对象(2)
- c++如何实现对硬盘的操作_Python 小技巧:如何实现操作系统兼容性打包?
- LINUX下载并编译javasqlite
- matlab 给图像双三次,图像灰度的双三次插值的MATLAB实现
- PS快速切换证件照背景颜色
- 【机器学习】【决策树】自己动手用Python实现一个类:in样本集,out特征分布、概率密度、熵、条件熵、信息增益、信息增益比
- 【​观察】做好数据到介质的连接者 新数据时代浪潮存储的行与思
热门文章
- BUG的跟踪管理、定位BUG
- 往十年不忘初心,新十年不负韶华丨万字长文带你完整回顾2020数据技术嘉年华...
- 【数据应用案例】金融行业大数据用户画像实践
- docker tomcat 多开 实例_Docker 快速验证 tomcat 单机多实例方案
- win7快捷关闭计算机,win7关机快捷键和重启快捷键是什么?
- 金融网站服务器防护CC攻击,WAF启到哪些重要作用?
- ps多种去水印方法与技巧-适合各种水印
- podman配置加速器、harbor镜像仓库部署
- 龙渊服务器信息丢失,多多自走棋:最“短命”的服务器,上线5天就完成任务下线...
- Java为什么不能写大型游戏?