• <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

            高斯消元

            Posted on 2007-05-28 19:26 oyjpart 閱讀(2384) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽

            一直都沒寫過高斯消元 今天數值分析老師說要寫一個交上去 我就寫了一個 呵呵
            //by OyjpArt 
            //使用方法:
            //ok = 0;
            //solve(0);

            const int N = 1010;
            double mat[N][N]; //增廣矩陣
            double ans[N];
            int n; //未知數個數
            const double EPS = 1e-7;
            bool ok;

            int dblcmp(double a) { if(fabs(a) < EPS) return 0; if(a < 0) return -1; return 1; }

            void solve(int x) {
             if(x == n-1) {
              if(dblcmp(mat[x][x]) == 0) ok = 0;
              else ans[x] = mat[x][x+1] / mat[x][x];
              return;
             }
             int i, j;
             for(i = x; i < n && dblcmp(mat[i][x]) == 0; i++);
             if(i == n) { ok = 0; return; }
             if(i != x) {
              double tmp[N];
              memcpy(tmp, mat[x], (n+1) * sizeof(double));
              memcpy(mat[x], mat[i], (n+1) * sizeof(double));
              memcpy(mat[i], tmp, (n+1) * sizeof(double));
             }
             for(i = x+1; i < n; i++) {
              if(dblcmp(mat[i][x]) == 0) continue;
              double m = mat[x][x] / mat[i][x];
              for(j = x; j < n + 1; j++)
               mat[i][j] = mat[i][j] * m - mat[x][j];
             }
             solve(x+1);
             double sum = mat[x][n];
             for(i = x+1; i < n; i++) sum -= mat[x][i] * ans[i];
             ans[x] = sum / mat[x][x];
            }

            久久伊人五月天论坛| 国产精品久久久久久影院| 91亚洲国产成人久久精品网址| 久久久久亚洲精品天堂| 国内精品久久久人妻中文字幕| 久久99热只有频精品8| 精品国际久久久久999波多野| 久久91综合国产91久久精品| 久久99热狠狠色精品一区| 久久er国产精品免费观看8| 久久久久久青草大香综合精品| 久久人人爽人人爽人人片AV东京热| 亚洲va久久久噜噜噜久久 | 久久国内免费视频| 亚洲另类欧美综合久久图片区| 无码任你躁久久久久久老妇App| 亚洲中文字幕无码久久综合网| 狠狠88综合久久久久综合网| 国产精品gz久久久| 77777亚洲午夜久久多喷| 久久午夜电影网| 久久天天躁夜夜躁狠狠| 97超级碰碰碰久久久久| 久久夜色撩人精品国产| 久久精品国产亚洲av影院| 久久人妻无码中文字幕| 偷窥少妇久久久久久久久| 99久久99久久精品免费看蜜桃| 久久精品无码免费不卡| 伊人久久综合精品无码AV专区| 99久久免费只有精品国产| 97久久国产露脸精品国产| 99久久精品费精品国产 | 99久久精品免费| 国产香蕉久久精品综合网| 91性高湖久久久久| 久久91亚洲人成电影网站| 亚洲午夜久久久久久久久电影网| 亚洲国产香蕉人人爽成AV片久久| 伊人久久精品线影院| 国产精品99精品久久免费|