• <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>
            數據加載中……

            USACO 1.4.3 Arithmetic Progressions

                   這個,自己寫了一個代碼,很丑.觀摩了一些以C++為"母語"的OIer的代碼,學習了一些新的寫法.直接搜索是可以做的,因此我沒有更深入地思考過其他的解法.我發現我把學習C++當作自己學習目標的做法很大程度上淡化了我對算法的關注.
                  學習算法,看看《算法導論》之類的書很有好處,學習語言,觀摩別人的代碼是必不可少的,這是我這幾天一來的體會.

            下面的代碼基本上就是按照人家的代碼打了一遍.不過很好理解,解釋也是多余的.
             1 /*
             2 ID:31440461
             3 PROG:ariprog
             4 LANG:C++
             5 */
             6 #include<iostream>
             7 #include<algorithm>
             8 using namespace std;
             9 const int MAX=250*250*2+10;
            10 bool flag[MAX]={};
            11 int leg[MAX],size=0,res_cnt=0;
            12 struct re
            13 {
            14     int a,b;
            15     bool operator < (const re& x) const
            16     {
            17         return b<x.b || b==x.b && a<x.a;
            18     }
            19 }res[10000];
            20 
            21 int main()
            22 {
            23     freopen("ariprog.in","r",stdin);
            24     freopen("ariprog.out","w",stdout);
            25     //memset(flag,0,sizeof(flag));
            26     int n,m;
            27     cin >> n >> m;
            28     int max=m*m*2;
            29     for (int i=0;i<=m ;++i )
            30        for (int j=0;j<=m ;++j )
            31                  flag[i*i+j*j]=1;
            32     for (int i=0;i<=max ;++i ) if (flag[i]) leg[size++]=i;
            33     
            34     for (int i=0;i<size ;++i )
            35       for (int j=i+1;j<size ;++j )
            36       {
            37         int d=leg[j]-leg[i];
            38         if (leg[i]+(n-1)*d>max) break;
            39         for (int k=2;k<n ;k++ )
            40             if (!flag[leg[i]+k*d]) goto L1;
            41         res[res_cnt].a=leg[i];
            42         res[res_cnt++].b=d;
            43              L1:;
            44       }
            45      sort(res,res+res_cnt);
            46      if (!res_cnt) cout << "NONE" << endl;
            47      else
            48      for (int i=0;i<res_cnt ;i++ ) cout << res[i].a << ' ' << res[i].b << endl;
            49      return 0;
            50 }
            51 
            52 



            posted on 2009-07-16 21:45 Chen Jiecao 閱讀(453) 評論(0)  編輯 收藏 引用 所屬分類: USACO

            999久久久国产精品| 国产亚洲精品久久久久秋霞| 欧美精品一本久久男人的天堂| 91精品国产高清91久久久久久| 成人亚洲欧美久久久久| 久久香综合精品久久伊人| 人妻精品久久久久中文字幕一冢本| 国产精品久久国产精品99盘| 久久国产免费| 国产精品美女久久久久| 久久久久无码精品| 精品久久一区二区| 国产成人无码精品久久久性色| 国产亚洲色婷婷久久99精品91| 久久精品国产免费观看| 99热都是精品久久久久久| 亚洲va久久久噜噜噜久久狠狠| 精品久久综合1区2区3区激情| 久久亚洲美女精品国产精品| 一级做a爰片久久毛片看看| 情人伊人久久综合亚洲| 人妻精品久久久久中文字幕一冢本| 青青久久精品国产免费看| 久久久久综合网久久| 色欲综合久久中文字幕网| 欧美一级久久久久久久大| 狠狠色综合久久久久尤物| 久久99热只有频精品8| 亚洲国产精品无码久久SM| 97视频久久久| 亚洲欧美日韩久久精品| 亚州日韩精品专区久久久| 久久久综合香蕉尹人综合网| 国产成人精品久久一区二区三区av | 国产精品久久久久国产A级| 99久久这里只精品国产免费| 欧美性大战久久久久久| 久久青青国产| 思思久久好好热精品国产| 久久人妻AV中文字幕| 亚洲人成网亚洲欧洲无码久久|