zoukankan      html  css  js  c++  java
  • 牛客练习赛84

    比赛链接

    A牛客推荐系统开发之静态特征获取

    给每一个字符串一个标号

    每次将str2插入str1中

    int n,cnt;
    string str1,str2;
    map<string,int>mp;
    set<int>s[maxn];
    void solve()
    {
        sd(n);
        rep(i,1,n)
        {
            cin>>str1>>str2;
            if(!mp[str1])mp[str1]=++cnt;
            if(!mp[str2])mp[str2]=++cnt;
            int id1=mp[str1],id2=mp[str2];
            if(s[id1].find(id2)!=s[id1].end())puts("NO");
            else puts("YES");
            s[id1].insert(id2);
        }
    }

    B牛客推荐系统开发之女装药水

    一个4*4方格
    想要将方格里全变为0
    每次可以选择一个位置将其与旁边四个取反
    那我直接暴力啦

    bool is[5][16];
    int a[5][5],tmp[5][5];
    void solve()
    {
        rep(i,1,4)rep(j,1,4)scanf("%1d",&a[i][j]);
        rep(i,0,15)rep(j,0,15)rep(k,0,15)rep(l,0,15)
        {
            rep(x,1,4)rep(y,1,4)tmp[x][y]=a[x][y];
            rep(x,1,4)if(i&(1<<(x-1)))
            {
                tmp[1][x]^=1;
                tmp[1][x-1]^=1;
                tmp[1][x+1]^=1;
                tmp[2][x]^=1;
            }
            rep(x,1,4)if(j&(1<<(x-1)))
            {
                tmp[2][x]^=1;
                tmp[2][x-1]^=1;
                tmp[2][x+1]^=1;
                tmp[1][x]^=1;
                tmp[3][x]^=1;
            }
            rep(x,1,4)if(k&(1<<(x-1)))
            {
                tmp[3][x]^=1;
                tmp[3][x-1]^=1;
                tmp[3][x+1]^=1;
                tmp[2][x]^=1;
                tmp[4][x]^=1;
            }
            rep(x,1,4)if(l&(1<<(x-1)))
            {
                tmp[4][x]^=1;
                tmp[4][x-1]^=1;
                tmp[4][x+1]^=1;
                tmp[3][x]^=1;
            }
            bool ju=0;
            rep(x,1,4)rep(y,1,4)if(tmp[x][y])ju=1;
            if(!ju)
            {
                puts("YES");
                return;
            }
        }
        puts("NO");
    }

     C牛客推荐系统开发之选飞行棋子

    分成两部分
    前两个一部分 后两个一部分

    int a[5][maxn],n,cnt[5],sum;
    int b[maxn*maxn];
    ll ans;
    void solve()
    {
        sd(n);
        rep(i,1,4)rep(j,1,n)scanf("%1d",&a[i][j]),cnt[i]+=a[i][j];
        rep(i,1,n)if(a[1][i]&&a[2][i])sum++;
        //12行去掉i,j两个位置能取多少 
        rep(i,1,n)rep(j,i+1,n)
        {
            int cnt1=cnt[1]-a[1][i]-a[1][j],cnt2=cnt[2]-a[2][i]-a[2][j];
            int cnt3=sum-(a[1][i]&&a[2][i])-(a[1][j]&&a[2][j]);
            b[i*n+j]=cnt1*cnt2-cnt3;
        }
        rep(i,1,n)rep(j,i+1,n)
        {
            if(i==j)continue;
            if(a[3][i]&&a[4][j])ans+=b[i*n+j];
            if(a[4][i]&&a[3][j])ans+=b[i*n+j];
        }
        plld(ans);
    }
    欢迎加我qq1165750856一起玩呀~
  • 相关阅读:
    php获取真实ip地址原理及实现
    关于DateTime计算某个日期过后的多少天之后的日期
    关于get_include_path()和set_include_path()的问题
    LinQ In Action 学习第三章
    LinQ In Action 学习第二章
    LinQ in Action 学习第一章 例子。
    asp.net create windows application and setup service.
    JS alert()、confirm()、prompt()的区别
    php获取用户 地区 、ip地址
    购物车相关 js
  • 原文地址:https://www.cnblogs.com/HHHEN/p/14878890.html
Copyright © 2011-2022 走看看