• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            oyjpArt ACM/ICPC算法程序設計空間

            // I am new in programming, welcome to my blog
            I am oyjpart(alpc12, 四城)
            posts - 224, comments - 694, trackbacks - 0, articles - 6

            HDU1590 Searching

            Posted on 2007-02-17 02:40 oyjpart 閱讀(1212) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽

            題目大意是給出第一條向量和一個公比k 以及一個旋轉角度A
            然后沿第一條向量左旋A角度 前進k*第一條向量的距離 得到第二條向量
            如此下去 最終停在一個點上
            題目雖然結果只需要輸出3為 但是想從精度上打主意進行近似模擬是不行的
            正確的解法是吧這個坐標平面看成一個復數平面
            設向量V : x + yi
            則左旋A角度之后的向量應該是xcosA - ysinA + (ycosA + xsinA)i
            (我是化成極坐標得出來的) 相當于乘上cosA+sinAi
            而距離變成k倍實際上就是乘上k
            那么無窮盡的旋轉 其實就是首相為x+yi, 公比為kcosA+ksinAi的等比數列 其和為
            ?????????? x+yi
            ————————
            (1 - kcosA) - ksinAi
            復數的除法可以轉化成乘法(兩邊同時成一共軛復數即可) 這樣就能夠解決問題了

            Solution
            //by oyjpArt
            #include <stdio.h>
            #include <math.h>
            const double EPS = 10e-6;

            int main() {
            ?double a, b, r, x, y, A, k, c, d;
            ?while(scanf("%lf %lf %lf %lf", &x, &y, &A, &k) != EOF) {
            ??A = A * acos(-1)/180.0;
            ??a = 1.0 - k * cos(A);
            ??b = -k * sin(A);
            ??c = x * a + y * b;
            ??d = y * a - x * b;
            ??r = a * a + b * b;
            ??printf("(%.3lf,%.3lf)\n", c/r+EPS, d/r+EPS);
            ?}
            ?return 0;
            }
            //BTW: #include <complex> & use overloaded / could make division easier.
            Like this:
            #include <stdio.h>
            #include <math.h>
            #include <complex>
            using namespace std;
            typedef complex<double> Comp;
            const double EPS = 10e-6;

            int main() {
            ?double x, y, A, k;
            ?while(scanf("%lf %lf %lf %lf", &x, &y, &A, &k) != EOF) {
            ??A = A * acos(-1)/180.0;
            ??Comp a(x, y);
            ??Comp b(1-k*cos(A), -k*sin(A));
            ??Comp c = a/b;
            ??printf("(%.3lf,%.3lf)\n", c.real()+EPS, c.imag()+EPS);
            ?}
            ?return 0;
            }

            ?

            久久精品夜色噜噜亚洲A∨| 伊人久久亚洲综合影院| 国产高潮国产高潮久久久| 久久91精品久久91综合| 91精品无码久久久久久五月天| 一本一道久久精品综合| 亚洲v国产v天堂a无码久久| 久久精品一区二区三区AV| 99国产欧美久久久精品蜜芽| 国产精品99久久久久久猫咪| 久久久久久精品久久久久| 国产成人久久精品一区二区三区| 国产亚洲精午夜久久久久久| 97久久国产露脸精品国产| 狠狠色伊人久久精品综合网| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 欧美国产精品久久高清| 国产成人精品久久二区二区| 四虎影视久久久免费| 国产精品成人久久久久久久| 久久婷婷五月综合色奶水99啪| 久久一区二区免费播放| 久久99精品国产麻豆宅宅| 久久久久久亚洲精品成人 | 久久精品无码一区二区三区| 狠狠色丁香久久婷婷综合图片| 91麻精品国产91久久久久| 国产精品欧美久久久天天影视 | 久久久久亚洲AV成人片| 国产精品99久久久精品无码| 久久久久久国产精品无码下载| 品成人欧美大片久久国产欧美| 国产精品天天影视久久综合网| 亚洲精品乱码久久久久久按摩 | 国产精品欧美亚洲韩国日本久久| 久久精品国产久精国产思思| 精品国产乱码久久久久软件 | 国产精品久久毛片完整版| 久久99亚洲网美利坚合众国| 国产成人精品白浆久久69| 久久99免费视频|