D. Vasya and Triangle】的更多相关文章

D - Vasya and Triangle #include<bits/stdc++.h> using namespace std; #define LL long long LL gcd(LL a,LL b){ ? a:gcd(b,a%b); } int main(){ LL n,m,k; cin>>n>>m>>k; )%k){ cout<<"NO"<<endl; ; } LL g=gcd(n*,k),p=gc…
D. Vasya and Triangle time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Vasya has got three integers n, m and k. He'd like to find three integer points (x1,y1), (x2,y2), (x3,y3), such that 0≤x1,x…
<题目链接> <转载于  >>> > 题目大意: 给出n.m.k.求一个三角形使它的面积等于n*m/k  并且这个三角形的三个顶点所在的坐标为整数点,且顶点满足0<=x<=n,0<=y<=m.询问是否存在这样的三角形.若存在则输出任意一种符合情况的三个顶点. 解题分析: 1.每个坐标为整数的三角形的面积 * 2是整数.(可证明) 2.由1可得若存在满足题意的三角形,则n,m,k一定满足式子 2mn % k == 0.所以此时可以判掉NO的情…
参考了别人的思路:https://blog.csdn.net/qq_41608020/article/details/82827632 http://www.cnblogs.com/qywhy/p/9695344.html 首先根据皮克定理,2*m*n/k一定要是一个整数,也就是说2*m*n%k !=0 的都可以不用算了 最简单的构造方法肯定是 (a,0),(0,b) 2*n*m%k ==0,把2*n*m看成2*n和m两部分,k中的质因子,一部分在2*n中,一部分在m中,当然这个“一部分”可以是…
传送门 [http://codeforces.com/contest/1030/problem/D] 题意 在第一象限,x,y得坐标上限是n,m,再给你个k,让你找3个整数点,使得围成面积等于(n*m)/k,没有输出NO 分析 有解析几何,由3个点坐标求面积公式S=(1/2)|(x2-x1)(y3-y1)-(x3-x1)(y2-y1)|=(nm)/k 所以2(nm)/k为整数时必有解,不然没有. 假设分别为(0,0),(a,0),(0,b) 2(nm)/k为整数时,gcd(2n,k)==1,或者…
题目:http://codeforces.com/contest/1058/problem/D 题意:有一个大小为N*M的矩阵内,构造一个三角形,使面积为(n*m)/k.若存在输出三个顶点(整数). 分析: 首先可以判断,若(2*n*m)%k!=0,一定为NO. 其次,可以想到,三角形可以构造为一个顶点为(0,0)的直角三角形.且满足等式  (2*n*m)%k==0 如果k是偶数,那个k肯定可以和2约分,所以把k除2. 再得到tmp=gcd(n,k),x=n/tmp,就是说能用n约掉一部分k就约…
[链接] 我是链接,点我呀:) [题意] 题意 [题解] 参考这篇题解:https://blog.csdn.net/mitsuha_/article/details/82825862 为什么可以保证mgcd(2n,k)/k是一个整数? 因为先前已经判断过 2nm/k是可以整除的. 显然k是被2n和m两个数字除了之后变成1 2n贡献的那一部分其实就是gcd(2n,k) 那么我们显然可以直接用gcd(2n,k)来代表2*n 所以右边肯定也是能整除的. 且<=m [代码] #include <bit…
题面 题意:给你n,m,k,在你在(0,0)到(n,m)的矩形内,选3个格点(x,y都是整数),使得三角形面积为n*m/k,不能找到则输出-1 题解:由毕克定理知道,格点多边形的面积必为1/2的整数倍,所以首先n*m/k必须是1/2的整数倍,也就是2*n*m%k要等于0,不等于就输出-1 然后对于面积,我们知道底✖高*1/2=面积,a*b*1/2=n*m/k,我们很显然想到一种构造方法,(0,0),(0,a),(b,0); 有人就要问,会不会有一种,使得无法找到整数a,b,满足这种直角三角形点,…
传送门:http://codeforces.com/contest/1058/problem/D 题意: 在一个n*m的格点中,问能否找到三个点,使得这三个点围成的三角形面积是矩形的1/k. 思路: 这个题就是找(0,0)(a,0)(0,b)中的a和b,可以得到2*n*m/k = a*b.所以2*n*m%k != 0答案就不存在.接下来就是把等式左边的分母消去,得到a,b的分配值. 如果k是偶数,那个k肯定可以和2约分,所以把k除2. 再得到g = gcd(n,k),a = n/g,就是说能用n…
传送门 题意: 给你 n, m, k, 问你是否存在一个三角形, 满足三角形的面积等于 n * m / k: 若存在, 输出YES, 且输出满足条件的三角形的三个坐标(答案有多种,则输出任意一种)   且三角形的三个坐标,都满足, 0 <= xi <= n, 0 <= yi <= m: 若不存在,输出NO: 解: 首先, 我们知道, 对于任意一个满足条件的三角形, 我们可以通过, 旋转, 平移. 把他一个顶点移动到原点,另一个顶点移动到,y坐标轴或者x坐标轴. 即将三角形的一条边移…
题目 题意: 给出 n,m,k ,让你在长为 n,宽为 m 的坐标系里构建一个三角形,使得面积= n*m/k.如果存在,输出“YES”,输出三角形三个顶点的坐标:  如果不存在,输出“NO”. 思路: 参考其他人博客. 设长为a ,宽为b,所以要 a*b/2 = (n*m)/k ,要使有解,必须 2*n*m/k 是整数,所以只要讨论 2*n*m/k 就可.如果k=1,a<=n和b<=m范围内 一定  a*b/2 != n*m,所以 k >=2 . 设g= gcd( 2*n, k ): 如…
题目:戳这里 题意:选出三个点构成三角形,要求面积为n*m/k. 解题思路:因为三个点的坐标都是正整数,根据三角形面积公式(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2=n*m/k可知,若三角形存在,则2*n*m/k必为整数.若面积*2为整数,则把该三角形放置在x轴上即可.于是设x1=0,y1=0,x2=a,y2=0,x3=0,y3=b;求a*b=2*n*m/k.(0<=a<=n,0<=b<=m) 欲找到满足条件,可以利用最大公约数.若gcd(2*n,k)…
http://codeforces.com/contest/1030 B. Vasya and Cornfield 判断点是否在矩形内(包括边界) 把每条边转化为一个不等式 public static void main(String[] args) { IO io = new IO(); int n = io.nextInt(), d = io.nextInt(); int t = io.nextInt(); while (t-- > 0) { int x = io.nextInt(), y…
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the following triangle [ [], [,4], [6,,7], [4,,8,3] ] The minimum path sum from top to bottom is 11 (i.e.,…
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? 杨辉三角想必大家并不陌生,应该最早出现在初高中的数学中,其实就是二项式系数的一种写法. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1…
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] 杨辉三角是二项式系数的一种写法,如果熟悉杨辉三角的五个性质,那么很好生成,可参见我的上一篇博文: http://www.cnblogs.com/grandyang/p/4031536.html 具体生…
题目简述: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra space? 解题思路: 这里的关键是空间的使用,既然只能用O(K)很容易就想到我们要进行回卷(名字好像不对).我的做法是每一次都在后面新加入一个数…
题目简述: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]] 解题思路: 很简单的问题,只要把两头的一拿出来,中间就是两个数相加了. class Solution: # @return a list of lists of integers def…
http://poj.org/problem?id=1163 The Triangle Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 32923   Accepted: 19514 Description 73 88 1 02 7 4 44 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program that calculates the hi…
Triangle - Delaunay Triangulator  eryar@163.com Abstract. Triangle is a 2D quality mesh generator and Delaunay triangulator. Triangle was created as part of the Quake project in the school of Computer Science at Carnegie Mellon University by Jonathan…
Problem: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Return [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] Summary: 输出杨辉三角的前n行. Solution: 方法类似于LeetCode 119 Pascal's Triangle II class Solution { publ…
Problem: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? Summary: 返回杨辉三角(帕斯卡三角)的第k行. Solution: 1. 若以二维数组的形式表示杨辉三角,则可轻易推算出ro…
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the following triangle [      [2],     [3,4],    [6,5,7],   [4,1,8,3] ] The minimum path sum from top to b…
//此程序写出三个类,triangle,lader,circle:其中triangle类具有类型为double的a,b,c边以及周长,面积属性, //具有周长,面积以及修改三边的功能,还有判断能否构成三角形的boolean类. //lader类具有类型为double的上底下底和高,面积属性,具有返回面积的功能 //circlle 类具有类型为double的半径,周长和面积.具有返回周长面积的功能 //Lader类 class Lader { double shangDi; //上底 double…
Time limit: 1.0 second Memory limit: 64 MB Vasya is the beginning mathematician. He decided to make an important contribution to the science and to become famous all over the world. But how can he do that if the most interesting facts such as Pythago…
引擎中,ray与quad求交,算法未细看,但有求解二次方程,不解.ray与triangle求交,使用的是97年经典算法,仔细看过论文,多谢小武同学指点,用到了克拉默法则求解线性方程组.想模仿该方法,做ray与quad的求交,发现方程里不仅有u和v,还有uv,没法变换成线性方程组的形式.本以为引擎中quad中四个点可以不共面,看过接口,不然,“不共面和退化的多边形不保证正确结果“.而后又有两个问题,一是,与一个quad求交比与两个三角形求交快吗?二是,如果前面的问题答案为否,即两个三角形更快,为何…
Home GameWorks Blog Life of a triangle - NVIDIA's logical pipeline   Life of a triangle - NVIDIA's logical pipeline Facebook Twitter LinkedIn Google+ By Christoph Kubisch, posted Mar 16 2015 at 12:52PM Tags:  GameWorks GameWorks Expert Developer DX12…
Link:  http://codeforces.com/contest/407/problem/A 给定直角三角形的2个直角边a,b.求在直角坐标系中,是否存在对应的直角三角形,使得三个定点都在整点上,并且三边都不和坐标轴平行. 如果存在,输出YES,和三个点的坐标.否则输出NO 很显然,为了方便,可以把原点作为 一个顶点. 这道题目做的时候少考虑了很多情况. 比如: 如何使得边不和坐标轴平行?  要保证要求的另外两个点的横坐标或者纵坐标不能相等. 如何保证三角形是直角三角形? 只需要保证,另…
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below. For example, given the following triangle [ [], [,4], [6,,7], [4,,8,3] ] The minimum path sum from top to bottom is 11 (i.e.,…
// uva 11401 Triangle Counting // // 题目大意: // // 求n范围内,任意选三个不同的数,能组成三角形的个数 // // 解题方法: // // 我们设三角巷的最长的长度是c(x),另外两边为y,z // 则由z + y > x得, x - y < z < x 当y = 1时,无解 // 当y = 2时,一个解,这样到y = x - 1 时 有 x - 2个 // 解,所以一共是0,1,2,3....x - 2,一共(x - 2) * (x - 1…