2021.01.26学习总结

08:00 学习打卡

上午8:30-11:30(3h)

学习《啊哈算法》中的《栈,队列,链表》《万能的搜索》《神奇的树》三个章节。

下午12:30-18:30(6h)
刷vj网站的题

B - 愚人节的礼物

题目
四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。
用()表示一个盒子,B表示礼物,Vayko想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。
Input
本题目包含多组测试,请处理到文件结束。
每组测试包含一个长度不大于1000,只包含’(’,’)'和’B’三种字符的字符串,代表Vayko设计的礼物透视图。
你可以假设,每个透视图画的都是合法的。
Output
对于每组测试,请在一行里面输出愚人指数。
Sample Input
((((B)()))())
(B)
Sample Output
4
1

水题
代码如下

#include<stdio.h>
int main()
{
    char a[1001];
    int i, cnt;
    while(scanf("%s", a)!=EOF)
    {
        getchar();
        cnt = 0;
        for(i = 0;;i++)
        {
            if(a[i]=='(')
                cnt++;
            else if(a[i]==')')
                cnt--;
            else if(a[i]=='B')
                break;
        }
        printf("%d\n", cnt);
    }
    return 0;
}

A - ACboy needs your help again!

ACboy needs your help again!
ACboy was kidnapped!!
he miss his mother very much and is very scare now.You can’t image how dark the room he was put into is, so poor ?.
As a smart ACMer, you want to get ACboy out of the monster’s labyrinth.But when you arrive at the gate of the maze, the monste say :" I have heard that you are very clever, but if can’t solve my problems, you will die with ACboy."
The problems of the monster is shown on the wall:
Each problem’s first line is a integer N(the number of commands), and a word “FIFO” or “FILO”.(you are very happy because you know “FIFO” stands for “First In First Out”, and “FILO” means “First In Last Out”).
and the following N lines, each line is “IN M” or “OUT”, (M represent a integer).
and the answer of a problem is a passowrd of a door, so if you want to rescue ACboy, answer the problem carefully!
Input
The input contains multiple test cases.
The first line has one integer,represent the number oftest cases.
And the input of each subproblem are described above
Output
For each command “OUT”, you should output a integer depend on the word is “FIFO” or “FILO”, or a word “None” if you don’t have any integer.
Sample Input
4
4 FIFO
IN 1
IN 2
OUT
OUT
4 FILO
IN 1
IN 2
OUT
OUT
5 FIFO
IN 1
IN 2
OUT
OUT
OUT
5 FILO
IN 1
IN 2
OUT
IN 3
OUT
Sample Output
1
2
2
1
1
2
None
2
3

打开网站这题,我是傻的,洋文真的是我一生的痛,不过有 FIFO(队列),和FILO(栈),根据上午看的《啊哈算法》,这是一道简单的栈与队列的题目。做题的时候,翻译花了很久的时间,因为真的有点长,题意如下:

给出一组命令,"FIFO"代表下面的命令先进先出,"FILO"代表后进先出,(IN代表进,out代表出)
求输出命令是OUT时输出的数,若此时为空则输出None

上代码

#include<stdio.h>
#include<string.h>
int a[10010];
int main()
{
    int T,n,num,m,k,i,j;
    scanf("%d",&T);
    while(T--)
    {
        char str1[20],str2[20];
        scanf("%d%s",&n,str1);
        if(strcmp(str1,"FILO")==0)//FILO(栈)先进后出
        {
            k=0;
            while(n--)
            {
                scanf("%s",str2);
                if(strcmp(str2,"IN")==0)
                {
                    scanf("%d",&num);
                    a[k++]=num;
                }
                else if(strcmp(str2,"OUT")==0)
                {
                    if(k==0)
                        printf("None\n");
                    else
                        printf("%d\n",a[--k]);
                }
            }
        }
        else if(strcmp(str1,"FIFO")==0)//FIFO队列先进先出
        {
            m=k=0;
            while(n--)
            {
                scanf("%s",str2);
                if(strcmp(str2,"IN")==0)
                {
                    scanf("%d",&num);
                    a[k++]=num;
                }
                else if(strcmp(str2,"OUT")==0)
                {
                    if(m>=k)
                        printf("None\n");
                    else
                        printf("%d\n",a[m++]);
                }
            }
        }
    }
    return 0;
}

做完vj上的这两题,我就去学校的刷题网上试着做二叉树,做了一个小时,样例都没法过,然后就再去学了一会二叉树的知识。

有点头晕,溜了,xdm学习之余一定要注意休息哈,身体才是最重要的。

总计9h.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值