题目链接:
好简单的一条数学题,是8月9日的。比赛中没有做出来,今天看,从pupil变成Newbie了,那个伤心啊~~~~不是分数的缘故,而是心态!!!昨晚一直卡机,网页很久才打得开,35min才进入比赛页面,接着做的时候又非常浮躁,静不下心来,提交时再次卡机,临20多min才提交成功,于是罢想!!心态真不好!!!这是第一次做题做得那么糟糕,要端正心态才行,遇到什么紧急情况都要冷静,保持清醒的头脑。
题意不难,以原点、X轴和Y轴各取一点,围成一个等腰直角三角形。当然,过X轴和Y轴的点的那条线段(假设是y = kx+b)要经过输入的坐标点,这个是约束条件。另外输出时要注意X较小的坐标点要先输出。
1 #include2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 int x, y, y1, x2; 9 while (scanf("%d%d", &x, &y) != EOF)10 {11 if (x < 0 && y < 0 || (x > 0 && y > 0)) // 斜率K = -112 {13 y1 = x + y;14 x2 = y1;15 if (x2 < 0)16 printf("%d 0 0 %d\n", x2, y1);17 else18 printf("0 %d %d 0\n", y1, x2); 19 }20 else // 斜率K = 121 {22 y1 = y - x;23 x2 = -y1;24 if (x2 < 0)25 printf("%d 0 0 %d\n", x2, y1);26 else27 printf("0 %d %d 0\n", y1, x2); 28 }29 }30 return 0;31 }