LINK


题目大意:给你n,m,k,让你在一个n*m的点阵里构造出一个面积为\(\frac{n*m}{k}\)的三角形

思路

首先要有一个结论是整点三角形的面积分母最多为2,然后就可以判断不存在的情况了

接下来就直接进行构造就可以了


#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define IL inline
#define fu(a,b,c) for(LL a=b;a<=c;++a)
#define fd(a,b,c) for(LL a=b;a>=c;--a)
#define FLIE ""
IL LL read(){
LL ans=0,w=1;char c=getchar();
while(!isdigit(c)&&c!='-')c=getchar();
if(c=='-')w=-1,c=getchar();
while(isdigit(c))ans=(ans<<1)+(ans<<3)+c-'0',c=getchar();
return ans*w;
}
LL n,m,k,g,ttmp,f=-1;
LL gcd(LL a,LL b){return b?gcd(b,a%b):a;}
int main(){
n=read(),m=read(),k=read();
LL g1=gcd(n,k);
n/=g1,k/=g1;if(g1!=1)f=1,ttmp=g1;
LL g2=gcd(m,k);
m/=g2,k/=g2;if(g2!=1)f=2,ttmp=g2;
if(k>2)puts("NO");
else{puts("YES");
if(k==1){
if(f==1)n*=2;
else m*=2;
}
printf("0 0\n%I64d 0\n0 %I64d",n,m);
}
return 0;
}

最新文章

  1. [Linux &amp; SVN] SVN介绍及Linux下SVN命令收录
  2. 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)
  3. 浅谈malloc()与free()
  4. 数学 ACdream 1196 KIDx&#39;s Triangle
  5. 神经网络中误差反向传播(back propagation)算法的工作原理
  6. (转)兼容主流浏览器的CSS透明代码
  7. 转载——web前端相关资源总结
  8. 解压Taobao手机客户端发现的东西
  9. Visual Studio Team Services 帐户管理操作
  10. Python进制转换(二进制、十进制和十六进制)
  11. Xamarin.android 重写axml控件
  12. consul 搭建
  13. 【转帖】Linux的历史----Linux内核剖析(一)
  14. slf4j的简单用法以及与log4j的区别
  15. 第三节 java 数组
  16. html标签二
  17. JavaScript模块化-RequireJs实现AMD规范的简单例子
  18. Add map surrounds using the SymbologyControl
  19. 微服务深入浅出(3)-- 服务的注册和发现Eureka
  20. 【原创】elasticsearch入门

热门文章

  1. appium 处理滑动的方法
  2. poj 2255 Tree Recovery 分治
  3. matlab C++ (VS Qt)混合编程 / mxArray / QT5中文乱码
  4. VMWare虚拟机网络配置
  5. 记录selenium操作
  6. 三重Des对称加密在Android、Ios 和Java 平台的实现
  7. jquery动态创建元素 div元素随垂直滚动条位置变化置顶显示
  8. 【nynu】 妹妹的工资怎么算(二分)
  9. $.ajaxSetup
  10. etl工具-Bireme