• <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>
            數(shù)據(jù)加載中……

            USACO 1.4.3 Arithmetic Progressions

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

            下面的代碼基本上就是按照人家的代碼打了一遍.不過很好理解,解釋也是多余的.
             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 閱讀(465) 評論(0)  編輯 收藏 引用 所屬分類: USACO

            日产精品久久久久久久| 欧洲精品久久久av无码电影| 久久精品黄AA片一区二区三区| 狠狠色丁香婷婷综合久久来 | 狠狠色婷婷久久一区二区三区 | 久久天天躁狠狠躁夜夜网站 | 嫩草伊人久久精品少妇AV| 97超级碰碰碰久久久久| 久久精品免费一区二区| 欧美性猛交xxxx免费看久久久| 99re这里只有精品热久久| 久久成人永久免费播放| 国产精品成人无码久久久久久| 欧美久久精品一级c片片| 99精品久久精品一区二区| 久久精品一区二区影院| 91精品国产91久久| 精品国产婷婷久久久| 久久精品夜夜夜夜夜久久| 久久久久这里只有精品 | 思思久久99热只有频精品66| 久久久久无码精品| 99热成人精品热久久669| 日本WV一本一道久久香蕉| 久久人人爽人爽人人爽av| 国内精品久久九九国产精品| 亚洲午夜无码久久久久| 国产一久久香蕉国产线看观看 | 色狠狠久久AV五月综合| 人人妻久久人人澡人人爽人人精品| 久久久亚洲精品蜜桃臀| 久久国产免费直播| 久久露脸国产精品| 国内精品久久久久久久涩爱| 精品久久久久久国产| 色综合久久最新中文字幕| 国产精品久久久久久| 国产高潮国产高潮久久久91 | 国产伊人久久| 久久一区二区免费播放| 国产欧美久久久精品影院|