EOJ Monthly 2018.7 B.锐角三角形(数学几何+思维)

描述

是否存在面积为S/2的整点锐角三角形?存在输出Yes并输出三个整点坐标,否则输出No。

注意如果存在输出的坐标必须在long long范围内。

Input

第一行一个整数S(1<=S<=1018),表示锐角三角形面积。

Output

第一行一个字符串。

若存在接下去三行,每行两个整数X,Y,表示三角形三个点的坐标。

Examples

input

9

output

Yes

0 0

3 0

1 3

input

3

output

Yes

1 0

0 1

2 2

题意

如上

题解

首先1和2不行,直角三角形不满足题意

其余点分奇偶

偶数,(0,0),(2,0),(1,s/2)

奇数,(0,1),(1,0),((1+s)/2,(1+s)/2)

代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 #define ll long long
 5 int main()
 6 {
 7     ll s;
 8     while(cin>>s)
 9     {
10         if(s<=2)cout<<"No"<<endl;
11         else if(s&1)cout<<"Yes\n1 0\n0 1\n"<<(s+1)/2<<" "<<(s+1)/2<<endl;
12         else cout<<"Yes\n0 0\n2 0\n1 "<<s/2<<endl;
13     }
14     return 0;
15 }

猜你喜欢

转载自www.cnblogs.com/taozi1115402474/p/9316495.html