大一大二省赛模拟赛一(2019.5.2-团队赛)

这场比赛,是5月11日去哈工大打省赛的一个赛前模拟训练,总共5个小时(中午12点到下午5点),题出的很难(主要是我太菜…),总共11题,我们队出了6题…估计也就差不多大一队伍的中流水平…前2个小时出了5题,后面真的是后劲不足,实在是没有AC了…只有最后几分钟才出了B题…

这是我们队的提交记录…可以看到从1点半之后几乎就没有AC了…在这期间真的是自闭啊…

A题 nefu 33 Fair Number

签到题。

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int l,s1,s2,tmp;
    string a;
    while(cin>>a&&a!="0")
    {
        l=a.length();
        s1=s2=0;
        for(int i=0;i<=l/2-1;i++)
        {
            if(a[i]>='0'&&a[i]<='9')
                s1=s1+a[i]-'0';
            else
                s1=s1+a[i]-'A'+10;
        }
        if(l%2==0)tmp=l/2;
        else tmp=l/2+1;
        for(int i=l-1;i>=tmp;i--)
        {
            if(a[i]>='0'&&a[i]<='9')
                s2=s2+a[i]-'0';
            else
                s2=s2+a[i]-'A'+10;
        }
        if(s1==s2)printf("Y\n");
        else printf("N\n");
    }
    return 0;
}

D题 nefu 643 teacher Li

寒假培训的原题,我开的这题,直接AC了…

#include <bits/stdc++.h>
using namespace std;
int n,i,j,cas;
string x,ans;
int main()
{
    ios::sync_with_stdio(false);
    cas=0;
    while(cin>>n>>ans)
    {
        for(i=1;i<=2*n-2;i++)
        {
            cin>>x;
            for(j=0;j<max(x.length(),ans.length());j++)
                ans[j]=ans[j]^x[j];
        }
        printf("Scenario #%d\n",++cas);
        printf("%s\n\n",ans.c_str());
    }
    return 0;
}

K题 nefu 904 删数问题

开场不久队友AC了这题…贴一下他的代码:

#include <bits/stdc++.h>
using namespace std;
void calculate(char *a,int k)
{
    int len=strlen(a);
    for(int count=0;count<k;count++)
    {
        for(int i=0;i<len;i++)
        {
            if(a[i]>a[i+1])
            {
                for(int j=i;j<len;j++)
                {a[j]=a[j+1];}
                break;
            }
        }
    }
    cout<<a<<endl;
}
int main()
{
    char s[210];
    int k;
    while(cin>>s)
    {
        if(s[0]=='0') break;
        cin>>k;
        calculate(s,k);
    }
    return 0;
}

I题 nefu 477 不同的卡片

队友开的这题…比较水…没什么好说的…

//2019.5.7补题 by.nefu_ljw
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,x,cas,sum,ans,pre[100010],vis[100010],a[100010];
int main()
{
    ios::sync_with_stdio(false);
    while(cin>>n>>m)
    {
        sum=0;
        memset(vis,0,sizeof(vis));
        for(ll i=1;i<=n;i++)
        {
            cin>>a[i];
            if(vis[a[i]]==0)//vis标记是否重复
            {
                vis[a[i]]=1;
                sum=sum+a[i];
            }
            pre[i]=sum;//pre数组记录[1,x]区间内的不重复元素的和
        }
        printf("Case #%lld:\n",++cas);
        while(m--)
        {
            cin>>x;
            printf("%lld\n",pre[x]);
        }
    }
    return 0;
}

J题 nefu 599 ***丝搬砖

我开的这题,一开始套的DFS的模板,看着最大才30,也没测试一下(30,30)就交了,结果TLE…后来队友推出数学公式,答案是一个组合数Cm+n n(m+n个数中选n个),用杨辉三角打表就给AC了…

#include <bits/stdc++.h>
using namespace std;
long long a[65][65],i,j,m,n;
void excel()//杨辉三角打表
{
    a[1][1]=1;
    for(i=2;i<=62;i++)
    {
        for(j=1;j<=i;j++)
        a[i][j]=a[i-1][j-1]+a[i-1][j];
    }
}
int main()
{
    while(cin>>m>>n)
    {
        excel();
        printf("%lld\n",a[m+n+1][n+1]);
    }
    return 0;
}

B题 nefu 640 Number Guessing

最后做的题,我卡了一个多小时,最后队友AC了…
思路是枚举答案,从0枚举到9999,但是要注意枚举的数不能含有重复数字(题目中说了电脑给的四位数是四个不同的数字组合,不含重复数字,那么你猜的数字也不能含重复数字)
我赛后补题了一下,发现比赛的时候我把check函数里第一个循环写到第二个循环的内层了,而且也没判断枚举的数字是否含有重复数字,错误还是挺多的…我还是思路不严谨,题目也没看清…
以下是我补题的AC代码:

//2019.5.6补题 by.nefu_ljw
#include <bits/stdc++.h>
using namespace std;
int n,suma,sumb,answer,s1[21],s2[21];
string a[21],b,ans[21];
bool check(int x)//判断枚举的数x是否满足条件
{
    int x1=x%10,x2=x/10%10,x3=x/100%10,x4=x/1000;
    if(x1==x2||x1==x3||x1==x4||x2==x3||x2==x4||x3==x4)return 0;//注意,枚举的数不能含有重复数字!
    for(int i=3;i>=0;i--)//把枚举的数x转换为字符串b
    {
        b[i]=x%10+'0';
        x=x/10;
    }
    for(int cas=1;cas<=n;cas++)
    {
        suma=sumb=0;
        memset(s1,0,sizeof(s1));
        memset(s2,0,sizeof(s2));
        for(int i=0;i<=3;i++)
        {
            if((a[cas][i]^b[i])==0)suma++;
            s1[a[cas][i]-'0']++;//统计字符串a中某个数字出现的次数
            s2[b[i]-'0']++;//统计字符串b中某个数字出现的次数
        }
        for(int i=0;i<=9;i++)
        {if(s1[i]==1&&s2[i]==1)sumb++;}
        if(suma!=(ans[cas][0]-'0')||sumb!=(ans[cas][2]-'0'))return 0;//与ans[cas]的字符比对,判断是否满足答案
    }
    return 1;
}
int main()
{
    ios::sync_with_stdio(false);
    while(cin>>n&&n>=0)
    {
        for(int i=1;i<=n;i++)
            cin>>a[i]>>ans[i];
        for(int i=0;i<=9999;i++)
        {
            if(check(i))
            {answer=i;break;}
        }
        printf("%04d\n",answer);
    }
    return 0;
}

——————————————————————————————————————————————

以下5题…没整出来…待我以后补题…

C题 nefu 642 monkey

队友看了这题,貌似是三维DP,然而没整出来状态转移方程…

E题 nefu 641 素数树

离散数学刚学完《树》这一章…然而这题还是不会写…这题只有大二的队AC了…

F题 nefu 656 Easy Dynamic Programming

这题就一个队AC了…我们队看都没看…题目名字说是简单的动态规划,我信你个鬼…

G题 nefu 39 Reverse a Road

这题我们队看了一下,貌似可以整,然而只能想到O(n2)的算法…估计TLE…整不出了…

H题 nefu 40 Divid Regions

防AK题…没有一个队伍提交这题…大一大二全军覆没…

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
05-11 11:48
河南大学 Java
程序员牛肉:我是26届的双非。目前有两段实习经历,大三上去的美团,现在来字节了,做的是国际电商的营销业务。希望我的经历对你有用。 1.好好做你的CSDN,最好是直接转微信公众号。因为这本质上是一个很好的展示自己技术热情的证据。我当时也是烂大街项目(网盘+鱼皮的一个项目)+零实习去面试美团,但是当时我的CSDN阅读量超百万,微信公众号阅读量40万。面试的时候面试官就告诉我说觉得我对技术挺有激情的。可以看看我主页的美团面试面经。 因此花点时间好好做这个知识分享,最好是单拉出来搞一个板块。各大公司都极其看中知识落地的能力。 可以看看我的简历对于博客的描述。这个帖子里面有:https://www.nowcoder.com/discuss/745348200596324352?sourceSSR=users 2.实习经历有一些东西删除了,目前看来你的产出其实很少。有些内容其实很扯淡,最好不要保留。有一些点你可能觉得很牛逼,但是面试官眼里是减分的。 你还能负责数据库表的设计?这个公司得垃圾成啥样子,才能让一个实习生介入数据库表的设计,不要写这种东西。 一个公司的财务审批系统应该是很稳定的吧?为什么你去了才有RBAC权限设计?那这个公司之前是怎么处理权限分离的?这些东西看着都有点扯淡了。 还有就是使用Redis实现轻量级的消息队列?那为什么这一块不使用专业的MQ呢?为什么要使用redis,这些一定要清楚, 就目前看来,其实你的这个实习技术还不错。不要太焦虑。就是有一些内容有点虚了。可以考虑从PR中再投一点产出
投递美团等公司9个岗位
点赞 评论 收藏
分享
牛客84809583...:举报了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务