zoukankan      html  css  js  c++  java
  • codevs 3732 解方程

    神题不可言会。

    f(x+p)=f(x)(mod p)

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxl 10050
    #define maxn 105
    using namespace std;
    int n,m,num[maxn][maxl],prime[]={0,5003,11261,19997,22877,21893},a[maxn],flag[maxn],ans[maxl*100],cnt=0;
    char s[maxl];
    bool vis[6][25000];
    void solve(int x)
    {
        for (int i=0;i<=n;i++)
        {
            int data=0;
            for (int j=1;j<=num[i][0];j++)
                data=(data*10+num[i][j])%prime[x];
            a[i]=data;
            if (flag[i]) a[i]=-a[i];
        }
        vis[x][0]=true;
        for (int i=1;i<=prime[x]-1;i++)
        {
            int data=a[n]*i%prime[x];
            for (int j=n-1;j>=0;j--)
                data=(data+a[j])*i%prime[x];
            if (data==0) vis[x][i]=true;
        }
    }
    int main()
    {
        memset(flag,false,sizeof(flag));
        scanf("%d%d",&n,&m);
        for (int i=0;i<=n;i++)
        {
            scanf("%s",s);
            if (s[0]=='-')
            {
                flag[i]=true;
                int len=strlen(s);num[i][0]=len-1;
                for (int j=1;j<=len-1;j++)
                    num[i][j]=s[j]-'0';
            }
            else
            {
                int len=strlen(s);num[i][0]=len;
                for (int j=0;j<=len-1;j++)
                    num[i][j+1]=s[j]-'0';
            }
        }    
        for (int i=1;i<=5;i++)
            solve(i);
        for (int i=1;i<=m;i++)
        {
            bool now=true;
            for (int j=1;j<=5;j++)
                now&=vis[j][i%prime[j]];
            if (now) ans[++cnt]=i;
        }
        printf("%d
    ",cnt);
        for (int i=1;i<=cnt;i++)
            printf("%d
    ",ans[i]);
        return 0;
    }
  • 相关阅读:
    获取APK的包名,和启动窗口类
    AS 中手动实现无线真机调试
    debian9安装jdk1.8
    java内存检测
    debian9设置pptp
    apache2 支持https
    centos安装python3
    debian laravel访问Mysql
    debian9下为apache启用rewrite模块,修改默认路径
    Java学习笔记(一)背景知识
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5754406.html
Copyright © 2011-2022 走看看