第五次周赛总结

原题链接

防AK题目——超难系列

在这里插入图片描述
嗯,看了题目,确实挺长,挺难的。嗯,说的很对。所以,就输出Accepted吧!

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Accepted!!!\n");
    return 0;
}

Fenoix超厌恶xxx

在这里插入图片描述
仔细读题可知,其实就是统计连续的 x 的大于 2 次的那一部分的次数。
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    char a[200];
    int n,i,ans=0;
    int flog=0;
    scanf("%d",&n);
    scanf("%s",a);
    for(i=2; i<n; i++)
    {
        if(a[i-1]=='x'&&a[i-2]=='x'&&a[i]=='x')
        {
            ans++;
            flog=1;
        }
    }
    if(flog==1)
        printf("%d",ans);
    else printf("0");
    return 0;
}

lwm学姐的木屋

在这里插入图片描述
因为题目说的是最大的正方形,所以就从输入的木块的数量 n 开始, n 依次减一,并判断是否在输入的这么多的木块中,存在有大于 n 的木块数量。如果存在,则输出 n。
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    int k,i,a[10005],n,j;
    scanf("%d",&k);
    while(k--)
    {
        scanf("%d",&n);
        for(i=0; i<n; i++)
            scanf("%d",&a[i]);
            for(i=n; i>0; i--)
        {
            int ans=0;
            for(j=0; j<n; j++)
            {
                if(a[j]>=i)
                    ans++;
            }
            if(ans>=i)
            {
            printf("%d\n",i);
                break;
            }
        }
    }
    return 0;
}

Fenoix的趣事

在这里插入图片描述
此题就是判断是否有 7 个相同的 1 或者 0。
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    char a[100005];
    scanf("%s",a);
    int x=strlen(a);
    int i,flog=0;
    for(i=6;i<x;i++)
    {
        if(a[i-1]=='0'&&a[i-2]=='0'&&a[i-3]=='0'&&a[i-4]=='0'&&a[i-5]=='0'&&a[i-6]=='0'&&a[i]=='0')
        {
            flog=1;
            printf("YES\n");
            break;
        }
        else if(a[i-1]=='1'&&a[i-2]=='1'&&a[i-3]=='1'&&a[i-4]=='1'&&a[i-5]=='1'&&a[i-6]=='1'&&a[i]=='1')
        {
            flog=1;
            printf("YES\n");
            break;
        }
    }
    if(flog==0)printf("NO\n");
    return 0;
}

Fenoix的签到题

在这里插入图片描述
其实就是寻找连续的递增的数的最大数量
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    int n,ans=1,i;
    long long a[100005],maxa=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%lld",&a[i]);
    for(i=1;i<n;i++)
    {
        if(a[i]<=a[i-1])
            ans=1;
        else ans++;
        if(ans>maxa)
            maxa=ans;
    }
    printf("%lld",maxa);
    return 0;
}

cgy学长爱吃糖果

在这里插入图片描述
如果糖果总数是奇数的话肯定吃不完,如果是偶数的话,如果最大的糖果数大于总数的一半肯定吃不完,其他的都可以。
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;

int main()
{
    int n,t,i;
    int a[100005];
    scanf("%d",&t);
    while(t--)
    {
        int sum=0;
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            sum+=a[i];
        }
        if(sum%2==1)
            printf("****!!!\n");
        else
        {
             sort(a,a+n);
            if(a[n-1]>sum/2)
                printf("****!!!\n");
            else
                printf("NICE!!!\n");
        }
    }
    return 0;
}

来呀,贪心呀~

在这里插入图片描述
这个就是贪心的例题
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct nod
{
    int s,e;
}v[100005];
bool cmp(nod x,nod y)
{
    if(x.e==y.e)
        return x.s>y.s;
    return x.e<y.e;
}
int main()
{
    int m;
    scanf("%d",&m);
    while(m--)
    {
        int i,n;
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%d%d",&v[i].s,&v[i].e);
            sort(v,v+n,cmp);
        int ans=1,t=0;
        for(i=1;i<n;i++)
        {
            if(v[i].s>v[t].e)
            {
                ans++;
                t=i;
            }
             }
        printf("%d\n",ans);
    }
    return 0;
}

说是栈你会做么?

在这里插入图片描述
这道题就是用栈做的( 他题目说的哟~ )如果有 a 又有一个 b,那么就出栈。最后判断一下栈是否为空即可。
代码

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<stack>
#include<string.h>
using namespace std;

int main()
{
    char a[1005];
    int i;
    stack<char>q;
    scanf("%s",a);
    int x=strlen(a);
    q.push(a[0]);
    for(i=1;i<x;i++)
    {
        if(!q.empty()&&a[i]=='b'&&q.top()=='a')
            q.pop();
        else
            q.push(a[i]);
    }
    if(!q.empty())
        printf("Bad");
    else printf("Good");
    return 0;
}

我太难了

在这里插入图片描述
题意很简单,就是求阶乘。
代码

#include <stdio.h>
#include <stdlib.h>
int main()
{
    long long  t,i,n;
    scanf("%lld",&t);
    while(t--)
    {
    long long a=1;
        scanf("%lld",&n);
        for(i=1;i<=n;i++)
        {
            a*=i;
        }
        printf("%lld\n",a);
    }
    return 0;
}

我也太难了

在这里插入图片描述
本题就是求斐波那契数,只不过数比较大,需要用递归的记忆化来优化一下。
代码

#include <iostream>
#include<stdio.h>
using namespace std;
long long v[100005];
long long pass(long long x)
{
    if(v[x])
        return v[x];
    if(x==1||x==2)
        return 1;
    return v[x]=pass(x-1)+pass(x-2);
}
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        printf("%lld",pass(n));
        printf("\n");
    }
    return 0;
}

Fenoix的针对

在这里插入图片描述
来了,来了,二维数组(矩阵)又来了。令人头疼的线代。把整个矩阵分成两个三角形,再寻找规律输出即可。
代码

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
    int n,i,j,k,l,kk,ll;
    while(~scanf("%d",&n))
    {
        for(i=0; i<n; i++)
        {
            k=(i+1)*(i+1);
            l=i*i;
            for(j=i; j>=0; j--)
            {
            if(i%2==1)
                {
                    printf("%2d ",k);
                    k--;
                }
                else
                {
                    printf("%2d ",l+1);
                    l++;
                }
            }
            for(j=i+1; j<n; j++)
            {
                kk=(j+1)*(j+1)-i;
                ll=j*j+1+i;
                if(j%2==0)
                    printf("%2d ",kk);
                else
                    printf("%2d ",ll);
            }
            printf("\n");
        }
        printf("\n");
    }
    return 0;
}

来自Fenoix的刁难

在这里插入图片描述
就是数组元素的删除,用 for循环遍历即可。
代码:

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
int main()
{
    int n,i,j,a[1000];
    int ans=0;
    scanf("%d",&n);
    for(i=n-1; i>=0; i--)
        scanf("%d",&a[i]);
    for(i=0; i<n; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if(a[j]==a[i])
            {
                a[j]=0;
            }
        }
    }
    for(i=0; i<n; i++)
    {
        if(a[i]!=0)
            ans++;
    }
    printf("%d\n",ans);
    for(i=n-1; i>=0; i--)
    {
        if(a[i]!=0)
            printf("%d ",a[i]);
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞准备**:适合准备计算机相关竞的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值