ZOJ3180 Number Game
ZOJ3180 Number Game
要点:
判断后三个数字能否通过上述的变换过程 推出前三个数字 ,我们可以逆向思维考虑 也就是逆着推回去
如果符合后三个数字 或其变换一次的数字(即符合其中一种组合形式) ,则输出yes
其中重要的点: 要将这些数字从小到大排序,便于比较判断, 前三个数字即使不断减小的但也不能小于或等于0
给出代码如下:(有部分注释)
- #include<iostream>
- #include<algorithm>
- using namespace std;
- const int N = ;
- int main()
- {
- int a[N], b[N];
- int t;
- cin >> t;
- while(t--)
- {
- for(int i = ; i < ; i++)
- {
- cin >> a[i];
- }
- for(int i = ; i < ; i++)
- {
- cin >> b[i];
- }
- int dp[N][N];
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[] + b[] - ;
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[] + b[] - ;
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[];
- dp[][] = b[] + b[] - ;
- for(int i = ; i < ; i++)
- {
- sort(dp[i], dp[i] + );//将每种情况按从小到大排序
- }
- while()//因为不知道要将前三个数字变换多少次才能推回到原来的数字
- {
- int flag ;
- sort(a, a+);//每次都将这三个数按从小到大排序 ,便于比较
- for(int i = ; i < ; i++)
- {
- flag = ;
- for(int j = ; j < ; j++)
- {
- if(dp[i][j] != a[j])
- {
- flag = ;
- }
- }
- if(flag)
- {
- break;
- }
- }
- if(flag) // 只有三个数符合dp中任何一种情况时,才能确保输出yes;
- {
- cout << "Yes" << endl;
- break;
- }
- if(a[] - a[] + == a[])// 陷入死循环, 并且这三个数不符合dp的任何一种情况
- {
- cout << "No" << endl;
- break;
- }
- else
- {
- a[] = a[] - a[] + ;
- flag = ;
- for(int i = ; i < ; i++)//逐渐逆推回去的过程中,还没到符合情况就已经有负数出现
- {
- if(a[i] <= )
- {
- flag = ;
- }
- }
- if(flag == )
- {
- cout <<"No" << endl;
- break;
- }
- }
- }
- }
- return ;
- }
ZOJ3180 Number Game的更多相关文章
- JavaScript Math和Number对象
目录 1. Math 对象:数学对象,提供对数据的数学计算.如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 2. Number 对象 :Js中提供数字的对象.包含整数.浮 ...
- Harmonic Number(调和级数+欧拉常数)
题意:求f(n)=1/1+1/2+1/3+1/4-1/n (1 ≤ n ≤ 108).,精确到10-8 (原题在文末) 知识点: 调和级数(即f(n))至今没有一个完全正确的公式, ...
- Java 特定规则排序-LeetCode 179 Largest Number
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- Eclipse "Unable to install breakpoint due to missing line number attributes..."
Eclipse 无法找到 该 断点,原因是编译时,字节码改变了,导致eclipse无法读取对应的行了 1.ANT编译的class Eclipse不认,因为eclipse也会编译class.怎么让它们统 ...
- 移除HTML5 input在type="number"时的上下小箭头
/*移除HTML5 input在type="number"时的上下小箭头*/ input::-webkit-outer-spin-button, input::-webkit-in ...
- iOS---The maximum number of apps for free development profiles has been reached.
真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...
- 有理数的稠密性(The rational points are dense on the number axis.)
每一个实数都能用有理数去逼近到任意精确的程度,这就是有理数的稠密性.The rational points are dense on the number axis.
- [LeetCode] Minimum Number of Arrows to Burst Balloons 最少数量的箭引爆气球
There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...
- [LeetCode] Number of Boomerangs 回旋镖的数量
Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...
随机推荐
- 【Coursera】Security Introduction -Summary
对这门课程的安全部分进行一个小结. 往期随笔 第八周第一节 第八周第二节 第九周第一节 第九周第二节 前言:为什么互联网要提及安全 因为security牵扯到我们每一个人,有人每时每刻都想着要偷取别人 ...
- Django部署生产环境,静态文件不能访问404,以及图片不能访问403
部署环境的搭建请看此博客https://blog.csdn.net/anifans9350/article/details/80145535 查看nginx.conf 文件, nginx文件(etc/ ...
- 最大容积 Container With Most Water
2018-07-31 17:28:42 问题描述: 问题求解: 很容易想到的是Brute Force,也就是枚举所有可能的pairs,这种解法的时间复杂度为O(n ^ 2),由于本题的数据规模较大,会 ...
- C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)
int [] numbers = new int[5]; // 长度为5,元素类型为 int. string[,] names = new string[5,4]; // 5*4 的二维数组 byte ...
- [Java学习] Java继承的概念与实现
继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似. 继承可以理解为一个类从另一个类获取方法和属性的过程.如果类B继承于类A,那么B就拥有A的方法和属性. ...
- Android动画(Animations)
动画类型Android的animation由四种类型组成 XML中 alpha : 渐变透明度动画效果 scale :渐变尺寸伸缩动画效果 translate : 画面转换位置移动动画效果 ro ...
- UVA-10118 Free Candies (DP、记忆化搜索)
题目大意:有4堆糖果,每堆有n个,有一只最多能容5个糖果的篮子.现在,要把糖果放到篮子里,如果篮子中有相同颜色的糖果,放的人就可以拿到自己的口袋.如果放的人足够聪明,问他最多能得到多少对糖果. 题目分 ...
- GDI+ DrawString字间距问题
/// <summary> /// 绘制任意间距文字 /// </summary> /// <param name= "text "& ...
- asp.net GridView多行表头的实现,合并表头
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == Da ...
- Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown
原因是:没有引入tomcat依赖包 <dependency> <groupId>org.springframework.boot</groupId> <art ...