zoukankan      html  css  js  c++  java
  • 【洛谷P1037】 产生数

    产生数

    题目链接

    本着“水题不可大做”的原则,我直接字符串hash+爆搜,成功爆栈。。

    我们发现,依次搜索每一位能取到的数字个数,最后乘起来即可(乘法原理)

    然后又爆了一个点。。

    long long存不下!!

    于是我面向数据编程,看到输出的数后面有很多0 

    就产生了这个神奇的骗分做法

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<map>
    using namespace std;
    #define mod 19260817
    #define int long long
    int n,k,head[10],next[20],to[20],cnt;
    int ans=1;
    char s[32];
    bool vis[10];
    inline void add(int x,int y){
        to[++cnt]=y;
        next[cnt]=head[x];
        head[x]=cnt;
    }
    int dfs(int t){
        if(vis[t]) return 0;
        vis[t]=1;
        int cnt=1;
        for(int i=head[t];i;i=next[i])
         cnt+=dfs(to[i]);
        return cnt;
    }
    #undef int
    int main()
    #define int long long
    {
        scanf("%s%lld",s+1,&k);
        n=strlen(s+1);
        int x,y;
        for(int i=1;i<=k;i++){
            scanf("%lld%lld",&x,&y);
            add(x,y);
        }
        int tot=0;
        for(int i=1;i<=n;i++){
            memset(vis,0,sizeof(vis));
            ans*=dfs(s[i]-'0');
            while(ans%10==0){
                ans/=10;
                tot++;
            }
        }
        cout<<ans;
        for(int i=1;i<=tot;i++) cout<<0;
        puts("");
        return 0;
    }
  • 相关阅读:
    来自1068
    耻辱的时间戳(笑哭)
    依然排序
    呵呵
    好吧,第二篇
    来自机房的第一篇博客
    Shader-水流效果
    unity中虚拟摇杆的实现
    (转载)Unity3d中的属性(Attributes)整理
    C#冒泡排序法及优化
  • 原文地址:https://www.cnblogs.com/yjkhhh/p/9359722.html
Copyright © 2011-2022 走看看