zoukankan      html  css  js  c++  java
  • poj 2356鸽笼原理水题

    关于鸽笼原理的知识看我写的另一篇博客

    http://blog.csdn.net/u011026968/article/details/11564841

    (需要说明的是,我写的代码在有答案时就输出结果了,但OJ也是从文件读入,所以乍一看我的好像在没输入完就有结果了,但OJ不知道,其实我是直接拿poj3370的代码AC的,32MS,O(∩_∩)O)

    直接贴代码

    #include<cstdio>
    #include<cstring>
    using namespace std;
    #define N 100002
    
    int sum[N],pos[N],a[N];
    
    int main()
    {
    
        int n,i,r,t,j;
    
        while(~scanf("%d",&n))
        {
            memset(pos,-1,sizeof(pos));
            bool flag=false;
    
            scanf("%d",&sum[0]);
            a[0]=sum[0];
            sum[0]%=n;
            pos[sum[0]]=0;
            if(sum[0]==0)
            {
                printf("1
    %d
    ",sum[0]);
                flag=1;
            }
    
            for(i=1;i<n;i++)
            {
                scanf("%d",&sum[i]);
                if(flag)continue;
                a[i]=sum[i];
                sum[i]%=n;
                sum[i]+=sum[i-1];
                sum[i]%=n;
                if(sum[i]==0)
                {
                    printf("%d
    ",i+1);
                    for(j=0;j<=i;j++)
                        printf("%d
    ",a[j]);
                    flag=1;
                    continue;
                }
                if(pos[sum[i]]==-1)pos[sum[i]]=i;
                else
                {
                    printf("%d
    ",i-pos[sum[i]]);
                    for(j=pos[sum[i]]+1;j<=i;j++)
                        printf("%d
    ",a[j]);
                    flag=1;
                }
            }
    
        }
    
        return 0;
    }
    


  • 相关阅读:
    Kefa and Park
    分土地
    果园里的树
    分解质因数
    素数筛
    cantor的数表
    new一个二维数组
    基础练习 十六进制转八进制
    查函数功能
    concatenate函数
  • 原文地址:https://www.cnblogs.com/james1207/p/3315490.html
Copyright © 2011-2022 走看看