sdut 2603 Rescue The Princess(算是解析几何吧)(山东省第四届ACM省赛A题)

题目地址:sdut 2603

Rescue The Princess

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

Several days ago, a beast caught a beautiful princess and the princess was
put in prison. To rescue the princess, a prince who wanted to marry the princess set out immediately. Yet, the beast set a maze. Only if the prince find out the maze’s exit can he save the princess.

Now, here comes the problem. The maze is a dimensional plane. The beast is
smart, and he hidden the princess snugly. He marked two coordinates of an equilateral triangle in
the maze. The two marked coordinates are A(x1,y1) and B(x2,y2). The third coordinate
C(x3,y3) is the maze’s exit. If the prince can find out the exit, he can save the princess. After the prince comes into the maze, he finds out the A(x1,y1)
and B(x2,y2), but he doesn’t know where the C(x3,y3) is. The prince need your help.
Can you calculate the C(x3,y3)
and tell him?

输入

The first line is an integer T(1 <= T <= 100) which is the number of test
cases. T test cases follow. Each test case contains two coordinates A(x1,y1) and B(x2,y2),
described by four floating-point numbers x1, y1, x2, y2 ( |x1|,
|y1|, |x2|, |y2| <= 1000.0).

Please notice that A(x1,y1)
and B(x2,y2) and C(x3,y3) are in an anticlockwise direction from the equilateral triangle.
And coordinates A(x1,y1) and B(x2,y2) are given by anticlockwise.

输出

For each test case, you should
output the coordinate of C(x3,y3), the result should be rounded to 2 decimal places in a line.

示例输入

4
-100.00 0.00 0.00 0.00
0.00 0.00 0.00 100.00
0.00 0.00 100.00 100.00
1.00 0.00 1.866 0.50

示例输出

(-50.00,86.60)
(-86.60,50.00)
(-36.60,136.60)
(1.00,1.00)

提示

来源

2013年山东省第四届ACM大学生程序设计竞赛

/**************************

应该是解析几何的:已知等边三角形两个顶点坐标,求第三个顶点的坐标

我转换成向量做的: 已知的两个点可以组成一个向量,然后逆时针旋转60度即得到另外一个顶点和已知顶点组成的一个向量,坐标相加即可得到等边三角形第三个顶点的坐标

向量旋转公式:

若已知向量为(x,y),则它旋转角度A后得到的向量为:(x*cosA-y*sinA,x*sinA+y*cosA) ,有了公式就显得很水了,不过还是记下来。

想请参见:http://www.cnblogs.com/woodfish1988/archive/2007/09/10/888439.html

*************************/

Code:

#include <stdio.h>
#include <stdlib.h>
#define cosA 0.5
#define sinA 0.86602540
int main()
{
    int t;
    double x1,y1,x2,y2,x,y,xx,yy;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
        x = x2-x1;y = y2-y1;
        xx = x*cosA-y*sinA;yy = x*sinA+y*cosA;
        x = xx+x1;y = yy+y1;
        printf("(%.2lf,%.2lf)\n",x,y);
    }
    return 0;
}

sdut 2603 Rescue The Princess(算是解析几何吧)(山东省第四届ACM省赛A题),布布扣,bubuko.com

时间: 2024-10-05 05:32:04

sdut 2603 Rescue The Princess(算是解析几何吧)(山东省第四届ACM省赛A题)的相关文章

sdut 2603:Rescue The Princess(第四届山东省省赛原题,计算几何,向量旋转 + 向量交点)

Rescue The Princess Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who wanted to marry the princess set out immedia

Sdut 2416 Fruit Ninja II(山东省第三届ACM省赛 J 题)(解析几何)

Time Limit: 5000MS Memory limit: 65536K 题目描写叙述 Haveyou ever played a popular game named "Fruit Ninja"? Fruit Ninja (known as Fruit Ninja HD on the iPad and Fruit Ninja THD for NvidiaTegra 2 based Android devices) is a video game developed by Hal

山东省第四届ACM程序设计竞赛A题:Rescue The Princess(数学+计算几何)

Rescue The Princess Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 412  Solved: 168[Submit][Status][Web Board] Description Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who

[2013山东省第四届ACM大学生程序设计竞赛]——Rescue The Princess

Rescue The Princess Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who wanted to marry the princess set out immedia

山东省第四届acm.Rescue The Princess(数学推导)

Rescue The Princess Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 412  Solved: 168 [Submit][Status][Web Board] Description Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince wh

sdut Mountain Subsequences 2013年山东省第四届ACM大学生程序设计竞赛

Mountain Subsequences 题目描述 Coco is a beautiful ACMer girl living in a very beautiful mountain. There are many trees and flowers on the mountain, and there are many animals and birds also. Coco like the mountain so much that she now name some letter s

sdutoj Rescue The Princess

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2603 Rescue The Princess Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Several days ago, a beast caught a beautiful princess and the princess was put in prison. To re

Sdut 2108 Alice and Bob(数学题)(山东省ACM第四届省赛D题)

题目地址:sdut 2608 Alice and Bob Alice and Bob Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Alice and Bob like playing games very much.Today, they introduce a new game. There is a polynomial like this: (a0*x^(2^0)+1) * (a1 * x^(2^1)+1)*....

sdut 2610:Boring Counting(第四届山东省省赛原题,划分树 + 二分)

Boring Counting Time Limit: 3000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 In this problem you are given a number sequence P consisting of N integer and Pi is the ith element in the sequence. Now you task is to answer a list of queries, for each quer