题目大意
一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩形,这个矩形一个角在原点,另一个点在 (x, y) 处,并且三角形 ABC 的面积尽量小
将 A B 两点按照 x 坐标从小到大输出
做法分析
A B 两点必然在坐标轴上,且线段 AB 经过点 (x, y),那么简单分类讨论下就行了
交之前犹豫了一下,10分钟才提交...
参考代码
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 5 using namespace std; 6 7 const int N=1000006; 8 9 int x, y; 10 11 int main() { 12 scanf("%d%d", &x, &y); 13 if(x>0 && y>0 || x<0 && y<0) { 14 if(x<0) { 15 printf("%d %d %d %d\n", x+y, 0, 0, x+y); 16 } 17 else { 18 printf("%d %d %d %d\n", 0, x+y, x+y, 0); 19 } 20 } 21 else { 22 if(x<0) { 23 printf("%d %d %d %d\n", x-y, 0, 0, y-x); 24 } 25 else { 26 printf("%d %d %d %d\n", 0, y-x, x-y, 0); 27 } 28 } 29 return 0; 30 }