• <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>
            我叫張小黑
            張小黑的掙扎生活
            posts - 66,  comments - 109,  trackbacks - 0

            http://acm.pku.edu.cn/JudgeOnline/problem?id=2356
            discuss里說用鴿巢原理,我感覺我寫出來的應(yīng)該是o(n),可是程序跑了500多

             1#include<stdio.h>
             2#include<algorithm>
             3using namespace std;
             4#define Max_N 10000
             5struct node{
             6    int num;
             7    int yu;
             8};
             9int N;
            10int get[Max_N];
            11struct node sum[Max_N]; 
            12bool cmp(struct node a,struct node b)
            13{
            14    if(a.yu<b.yu)return true;
            15    else if(a.yu==b.yu)return a.num<b.num;
            16    else return false;
            17}
            18void solve()
            19{
            20    int i,j;
            21    sum[0].yu=get[0]%N;
            22    sum[0].num=0;
            23    for(i=1;i<N;i++){
            24        sum[i].yu=sum[i-1].yu+get[i];
            25        sum[i].yu%=N;
            26        sum[i].num=i;}//第一個(gè)數(shù)是get的第一個(gè)數(shù),第二個(gè)數(shù)是前兩個(gè)數(shù)的和取余,一共是N個(gè)數(shù),就有N個(gè)和
            27    //若其中一個(gè)和取余是0,顯然成立,否則根據(jù)鴿巢原理,N個(gè)數(shù)占N-1個(gè)位子,顯然會(huì)有一樣的
            28    sort(sum,sum+N,cmp);
            29    if(!sum[0].yu){
            30        printf("%d\n",sum[0].num+1);
            31        for(i=0;i<=sum[0].num;i++)
            32            printf("%d\n",get[i]);
            33        return;
            34    }
            35    else {
            36        for(i=0;i<N-1;i++)
            37            if(sum[i].yu==sum[i+1].yu){
            38                printf("%d\n",sum[i+1].num-sum[i].num);
            39                for(j=sum[i].num+1;j<=sum[i+1].num;j++)
            40                    printf("%d\n",get[j]);
            41                return;}
            42        
            43    }
            44    printf("0\n");
            45}
            46int main()
            47{
            48    int i;
            49    while(scanf("%d",&N)!=EOF){
            50        for(i=0;i<N;i++){
            51            scanf("%d",&get[i]);
            52        }
            53    solve();}
            54    return 0;
            55}
            以下是經(jīng)過學(xué)習(xí)別人代碼后重寫的代碼,0ms
             1#include<iostream>
             2using namespace std;
             3#define Max_N 10001
             4int main()
             5{
             6    int N,i,j;
             7    int get[Max_N];
             8    int sum[Max_N];
             9    int b[Max_N];
            10    sum[0]=0;
            11    memset(b,0,sizeof(b));
            12    scanf("%d",&N);
            13    for(i=1;i<=N;i++){
            14        scanf("%d",&get[i]);
            15        if(!(get[i]%N)){
            16            printf("1\n%d\n",get[i]);break;}
            17        else {
            18            sum[i]=(sum[i-1]+get[i])%N;
            19            if(!sum[i]){
            20                printf("%d\n",i);
            21                for(j=1;j<=i;j++)
            22                    printf("%d\n",get[j]);
            23                break;}
            24        }
            25    }
            26    if(i>N){
            27        for(i=1;i<=N;i++){
            28            if(!b[sum[i]])
            29                b[sum[i]]=i;
            30            else{
            31                printf("%d\n",i-b[sum[i]]);
            32                for(j=b[sum[i]]+1;j<=i;j++)
            33                    printf("%d\n",get[j]);
            34                break;}
            35        }
            36    }
            37    return 0;
            38}
            posted on 2008-02-26 20:39 zoyi 閱讀(226) 評(píng)論(0)  編輯 收藏 引用 所屬分類: acm
            歡迎光臨 我的白菜菜園

            <2008年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(8)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊(cè)

            acmer

            online judge

            隊(duì)友

            技術(shù)

            朋友

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲欧洲久久av| 综合久久精品色| 中文字幕一区二区三区久久网站| 国产精品久久久久影院嫩草| 狠狠色丁香久久婷婷综合五月| 99麻豆久久久国产精品免费 | 久久精品国产精品亚洲精品| 伊人久久大香线蕉AV色婷婷色| avtt天堂网久久精品| 国产99久久久国产精免费| 久久亚洲中文字幕精品一区四| 久久无码专区国产精品发布| 久久久国产精品亚洲一区| 久久精品9988| 日本WV一本一道久久香蕉| 久久精品天天中文字幕人妻 | 久久久久亚洲AV无码观看| 久久丫精品国产亚洲av不卡 | 九九99精品久久久久久| 亚洲国产小视频精品久久久三级 | 99精品国产99久久久久久97| 久久国产精品成人免费 | 亚洲伊人久久综合中文成人网| 狠狠色婷婷久久一区二区| 91久久福利国产成人精品| 一本色道久久88—综合亚洲精品| 国产精品久久国产精麻豆99网站| 久久青青国产| 久久精品这里热有精品| 国产亚洲精品久久久久秋霞| 久久久国产精品| 国产精品久久自在自线观看| 久久受www免费人成_看片中文| 99久久婷婷国产综合精品草原| 嫩草伊人久久精品少妇AV| 婷婷久久五月天| 久久人人爽人人爽AV片| 久久se精品一区二区| 色妞色综合久久夜夜| 久久狠狠爱亚洲综合影院| 热综合一本伊人久久精品|