思维性题集二(第二次考试)

第一题:Frequency

思维性题集二(第二次考试)_第1张图片

一如既往,第一题都是水题一个

题解:用s数组输入字符串,a数组统计每个单词出现的频率,遍历s数组中的每一个一个单词,出现了就在a数组里+1,后面遍历a数组,用max变量统计出现最多的单词,最后,输出统计最多的单词就可以;

AC代码

#include 
#include 
int main()
{
    char s[1005];//输入字符串
    int a[30]={0};//统计每个单词的频率
    scanf("%s",s);
    int len=strlen(s);//求出字符串长
    for(int i=0;ia[max])
        {
            max=i;
        }
    }
    printf("%c",'a'+max-1);
    return 0;
}

 

第二题:Leftover Recipes

思维性题集二(第二次考试)_第2张图片

思维性题集二(第二次考试)_第3张图片

这题我只能说有好方法,我想复杂了,原本打算用动态规划01背包那种思想去写的,想的是取a或者取b,但是后面发现两重循环就秒了,结果还卡了时间,说多了都是泪,呜呜

题解:首先先求出最大能做几份a菜肴,然后循环a菜肴的个数,去求最大的b菜肴,然后求出总和sum,如果比之前出现的最大值max大,就更新max的值

#include 
using namespace std;
int n;
int p[50];
int a[50];
int b[50];
int s1=0x3f3f3f3f,s2;
int sum=0;
int main()
{
    scanf("%d",&n);
    for(int i=0;i

第三题:We Got Everything Covered!

思维性题集二(第二次考试)_第4张图片

这题也不算很难,用了10分钟就写出来了,主要是去思考 怎样才会有符合的字符串;

题解:不知道该怎么去描述了,就直接说结论吧,前面那个n决定了循环的次数,后面那个k决定了有多少个字母,真的是纯思维题目,没有什么需要多说的,直接看代码好了(如果真的不懂直接私信即可)

AC代码

#include 
#include 
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n,k;
        scanf("%d%d",&n,&k);
        for(int i=0;i

第四题:A Balanced Problemset?

思维性题集二(第二次考试)_第5张图片

题解:

AC代码:分享一位天才的代码

#include
using namespace std;

int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int x,n;
        scanf("%d%d",&x,&n);
        while(x%n!=0)
        {
            n=(x-1)/(x/n)+1;
        }
        printf("%d\n",x/n);
    }
    return 0;
}

 第五题:Lame King

思维性题集二(第二次考试)_第6张图片 

题解:乍一看像是要用bfs求最短路径,但是后面才发现,用bfs写的话太过于麻烦了,而是要用思维的方式去解决这个问题,就是要横着走一下,竖着走一下,直到和目标点到了,同一行或者列,然后再用移动,跳过的方式一直摸到目标点

AC代码:

#include 
using namespace std;

int main()
{
    long long t,a,b,x,y;
    scanf("%lld",&t);
    while(t--)
    {
        int sum=0;
        scanf("%lld%lld",&a,&b);
        x=abs(a),y=abs(b);
        \
        if(x==y)
            sum=x*2;
        else
            sum=max(x,y)*2-1;
        printf("%lld\n",sum);
    }
    return 0;
}

总结,这次考试其实还都是思维的题目,但是不如上回发挥的好,主要还是自己想的太复杂了,其实可以思考的简单一点的,下次要注意

寄语:

据说每个人的生命里
都会遇见一束光
在此前天地迷离 长夜永驻
窒息的空气里 没有悲欢的温度
长风不起 黄沙漫天
黯淡的星空里 是重复的余年
有一天有一束光闯了进来
那样迷人 那样刺眼
仅一个照面
脑子就忍不住幻想接下来的故事 
一眼万年
此后云海开始翻涌
江潮开始澎湃
昆虫的小须挠着全世界的痒
天地万物 便通通动了起来

你可能感兴趣的:(算法,c语言,数据结构)