<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 閱讀(634) 評論(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;
    }
    主站蜘蛛池模板: 中文字幕视频在线免费观看| 亚洲国产午夜精品理论片| 福利片免费一区二区三区| 免费看少妇作爱视频| 亚洲最大的黄色网| 91免费资源网站入口| 亚洲午夜精品一区二区公牛电影院| 久久国产色AV免费观看| 亚洲人成影院在线高清| 我想看一级毛片免费的| 亚洲区日韩精品中文字幕| 国产精品久久久久影院免费| 在线亚洲v日韩v| 亚洲中文无韩国r级电影 | 亚洲高清专区日韩精品| 国产免费AV片在线观看| 亚洲黄色高清视频| 好大好硬好爽免费视频| 免费福利在线观看| 亚洲AV永久无码精品水牛影视 | 两个人看的www免费视频中文| 亚洲国产无套无码av电影| 无码人妻一区二区三区免费n鬼沢| 亚洲精品福利网站| 大陆一级毛片免费视频观看| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲精品国产电影| 久草福利资源网站免费| 中文字幕亚洲精品无码| 亚洲美女高清一区二区三区| 日本免费一区二区三区| 亚洲精品无码久久久久APP| 久久久久一级精品亚洲国产成人综合AV区| 四虎国产精品免费永久在线| 亚洲一区二区三区亚瑟| 亚洲成av人片不卡无码久久| 在线日本高清免费不卡| 亚洲乱码中文字幕在线| 亚洲成AV人片在线观看无码| 热99re久久精品精品免费| 成人久久免费网站|