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

            亚洲v国产v天堂a无码久久| 久久er热视频在这里精品| 久久这里的只有是精品23| 无码精品久久久久久人妻中字| 国产精品久久久亚洲| 国产99久久久久久免费看| 7777精品伊人久久久大香线蕉| 国产亚洲色婷婷久久99精品| 亚洲国产成人久久综合区| …久久精品99久久香蕉国产| 午夜精品久久久内射近拍高清| 91精品国产9l久久久久| 亚洲精品成人久久久| 成人a毛片久久免费播放| 少妇久久久久久久久久| 一本大道久久香蕉成人网| 亚洲伊人久久大香线蕉苏妲己| 99久久国产宗和精品1上映| 久久久久亚洲av毛片大| 亚洲国产天堂久久综合网站 | 国产成人综合久久综合| 无码人妻久久一区二区三区蜜桃| 91久久国产视频| 久久免费高清视频| 久久综合精品国产二区无码| 久久夜色精品国产| 久久成人永久免费播放| 成人亚洲欧美久久久久| 久久免费美女视频| 国产精品成人久久久久久久| 国产精品99久久精品| 成人综合伊人五月婷久久| 国内精品久久久人妻中文字幕| 日产精品99久久久久久| 天天爽天天狠久久久综合麻豆| 亚洲精品无码久久千人斩| 精品国产乱码久久久久久人妻| 久久久久高潮综合影院| 性欧美大战久久久久久久久| 久久综合久久自在自线精品自| 无码精品久久久久久人妻中字|