<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 403, comments - 310, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    USACO 1.1.4 Arithmetic Progressions

    Posted on 2007-05-30 22:18 ZelluX 閱讀(633) 評論(0)  編輯  收藏 所屬分類: Algorithm
    第一次做是用一張hash表記錄的所有的數是否為所謂的bisquare,然后先枚舉公差,再枚舉首項,本來想這樣做就不用再對結果排序了,沒想到效率很低。
    改為先枚舉首項,再枚舉第二項,然后計算公差后,速度提高不少。
    另外第一次使用sort方法。
    /*
    PROG: ariprog
    ID: 06301031
    LANG: C++
    */


    #include 
    <iostream>
    #include 
    <fstream>
    #include 
    <vector>
    #include 
    <algorithm>

    using namespace std;

    struct Ans {
        
    int start;
        
    int step;
    }
    ;

    bool compareOp(const Ans& ans1, const Ans& ans2);

    int main() {
        ifstream fin(
    "ariprog.in");
        ofstream fout(
    "ariprog.out");
        
    int n, m, i, j, k;
        
    bool solved = false;
        fin 
    >> n >> m;

        
    // generate Arithmetic Progressions sequence
        bool seq[250*250*2 + 1];    
        
    for (i = 0; i <= m * m * 2; i++{
            seq[i] 
    = false;
        }

        
    for (i = 0; i <= m; i++{
            
    for (int j = 0; j <= i; j++{
                seq[i
    *+ j*j] = true;
            }

        }


        vector
    <Ans> result;
        
    int step;
        
    for (i = 0; i <= m * m * 2; i++{
            
    if (!seq[i]) {
                
    continue;
            }

            
    for (j = i + 1; j <= m * m * 2; j++{
                
    if (!seq[j]) {
                    
    continue;
                }

                step 
    = j - i;
                
    if (i + step * (n - 1> m * m * 2{
                    
    break;
                }


                
    bool flag = true;
                
    for (k = 1; k < n; k++{
                    
    if (!seq[i + step * k]) {
                        flag 
    = false;
                        
    break;
                    }

                }

                
    if (flag) {
                    Ans ans;
                    ans.start 
    = i;
                    ans.step 
    = step;
                    result.push_back(ans);
                    solved 
    = true;
                }

            }

        }

        
    if (!solved) {
            fout 
    << "NONE" << endl;
        }


        sort(result.begin(), result.end(), compareOp);
        vector
    <Ans>::iterator iter;
        
    for (iter = result.begin(); iter != result.end(); iter++{
            fout 
    << iter->start << " " << iter->step << endl;
        }

        fout.close();
        
    return 0;
    }


    bool compareOp(const Ans& ans1, const Ans& ans2) {
        
    return ans1.step < ans2.step;
    }
    主站蜘蛛池模板: 亚洲av日韩精品久久久久久a| 亚洲精品成人久久| 全部免费a级毛片| 亚洲人成国产精品无码| 亚洲伊人久久精品影院| 亚洲午夜久久影院| 亚洲啪AV永久无码精品放毛片| 免费视频成人国产精品网站| 无码人妻丰满熟妇区免费| 四虎成人免费网址在线| 亚洲级αV无码毛片久久精品| 亚洲影院天堂中文av色| 成人精品一区二区三区不卡免费看| 性短视频在线观看免费不卡流畅 | 亚洲91av视频| 相泽南亚洲一区二区在线播放| 在线观看片免费人成视频无码| 久久久久久久久亚洲| 久久99精品免费视频| 亚洲精品中文字幕无码AV| 最近免费中文字幕大全视频| 亚洲av日韩av无码| 久久午夜夜伦鲁鲁片免费无码影视| 全部免费国产潢色一级| 亚洲国产美女精品久久| 成人无码视频97免费| 国产青草视频免费观看97| 亚洲欧洲日产专区| 国产麻豆免费观看91| 久久综合亚洲色HEZYO社区| a级片免费观看视频| 免费国产成人午夜私人影视| 中文字幕av无码不卡免费| 久久亚洲精品人成综合网 | 97无码人妻福利免费公开在线视频 | 最近中文字幕mv免费高清在线| 伊人久久综在合线亚洲91| 日韩在线视精品在亚洲| 亚洲AV综合色区无码另类小说| v片免费在线观看| 嫩草成人永久免费观看|