小景哥哥

世界很大,而我们还需要再成长!

强烈推荐

1021. 个位数统计 (15)-浙大PAT乙级真题java实现

    1021. 个位数统计 (15) 
    给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如: 
    给定N = 100311,则有2个0,3个1,和1个3。 
    输入格式: 
    每个输入包含1个测试用例,即一个不超过1000位的正整数N。 
    输出格式: 
    对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。 
    要求按D的升序输出。 
    输入样例: 
    100311 
    输出样例: 
    0:2 
    1:3 
    3:1


    阅读全文>>

作者:Jason分类:【pat浏览(254评论(0

2018-01-17

1029. 旧键盘(20)-浙大PAT乙级真题java实现

    1029. 旧键盘(20) 
    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 
    输入格式: 
    输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。 
    输出格式: 
    按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有1个坏键。 
    输入样例: 
    7_This_is_a_test 
    _hs_s_a_es 
    输出样例: 
    7TI


    阅读全文>>

作者:Jason分类:【pat浏览(275评论(0

2018-01-18

1026. 程序运行时间(15)-浙大PAT乙级真题java实现

    1026. 程序运行时间(15) 
    要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一个时钟打点数C1;在f执行完成后再调用clock(),获得另一个时钟打点数C2;两次获得的时钟打点数之差(C2-C1)就是f运行所消耗的时钟打点数,再除以常数CLK_TCK,就得到了以秒为单位的运行时间。这里不妨简单假设常数CLK_TCK为100。现给定被测函数前后两次获得的时钟打点数,请你给出被测函数运行的时间。 
    输入格式: 
    输入在一行中顺序给出2个整数C1和C1。注意两次获得的时钟打点数肯定不相同,即C1 < C2,并且取值在[0, 10^7]。 
    输出格式: 
    在一行中输出被测函数运行的时间。运行时间必须按照“hh:mm:ss”(即2位的“时:分:秒”) 
    格式输出;不足1秒的时间四舍五入到秒。 
    输入样例: 
    123 4577973 
    输出样例: 
    12:42:59


    阅读全文>>

作者:Jason分类:【pat浏览(272评论(0

2018-01-18

1040. 有几个PAT(25)-浙大PAT乙级真题java实现

    1040. 有几个PAT(25) 
    字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T); 
    第二个PAT是第3位(P),第4位(A),第6位(T)。 
    现给定字符串,问一共可以形成多少个PAT? 
    输入格式: 
    输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 
    输出格式: 
    在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对 
    1000000007取余数的结果。 
    输入样例: 
    APPAPT 
    输出样例: 
    2


    阅读全文>>

作者:Jason分类:【pat浏览(286评论(0

2018-01-23

1020.月饼(25)--浙大PAT乙级真题java实现

    1020. 月饼 (25)
    月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。
    注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种月饼、以及5万吨第3种月饼,获得 72 + 45/2 = 94.5(亿元)。
    输入格式:
    每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N表示月饼的种类数、以及不超过500(以万吨为单位)的正整数D表示市场最大需求量。随后一行给出N个正数表示每种月饼的库存量(以万吨为单位);最后一行给出N个正数表示每种月饼的总售价(以亿元为单位)。数字间以空格分隔。
    输出格式:
    对每组测试用例,在一行中输出最大收益,以亿元为单位并精确到小数点后2位。
    输入样例:
    3 20
    18 15 10
    75 72 45
    输出样例:
    94.50


    阅读全文>>

作者:Jason分类:【pat浏览(281评论(0

2018-01-17

1003. 我要通过!(20)-浙大PAT乙级真题Java实现

    1003. 我要通过!(20)
    “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。
    得到“答案正确”的条件是:
    1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;
    2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
    3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。
    现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。
    输入格式:
    每个测试输入包含1个测试用例。第1行给出一个自然数n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过100,且不包含空格。
    输出格式:
    每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。

    输入样例:
    8
    PAT
    PAAT
    AAPATAA
    AAPAATAAAA
    xPATx
    PT
    Whatever
    APAAATAA
    输出样例:
    YES
    YES
    YES
    YES
    NO
    NO

    NO
    NO

    思路:

    条件一最基本,先忽略。条件二,xPATx 就是正确的形式;在此基础上,如果 aPbTc 是正确的,那么 aPbATca 也是正确的。如果二者放在一起考虑,就是中间每增加一个A,后面就增加一个a,似乎数学关系出来了。我们知道aPbTc中a b c 段都只能包含“A",其长度分别为len(a)、len(b)、len(c),则其关系满足len(a)*len(b) = len(c)!这完美的契合了条件二与条件三,xPATx 就是当len(b) = 1,(a=x,c=c,b=A)的情况,在此基础上演化到条件三B中每增加一个A,c中相应增加一段”a“以上的乘法关系式成立。


    阅读全文>>

作者:Jason分类:【pat浏览(351评论(0

2018-01-04

1019. 数字黑洞 (20)-浙大PAT乙级真题java实现

    1019. 数字黑洞 (20) 
    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序, 
    再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复 
    这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 
    例如,我们从6767开始,将得到 
    7766 – 6677 = 1089 
    9810 – 0189 = 9621 
    9621 – 1269 = 8352 
    8532 – 2358 = 6174 
    7641 – 1467 = 6174 
    … … 
    现给定任意4位正整数,请编写程序演示到达黑洞的过程。 
    输入格式: 
    输入给出一个(0, 10000)区间内的正整数N。 
    输出格式: 
    如果N的4位数字全相等,则在一行内输出“N – N = 0000”;否则将计算的每一步在 
    一行内输出,直到6174作为差出现,输出格式见样例。注意每个数字按4位数格式输出。 
    输入样例1: 
    6767 
    输出样例1: 
    7766 – 6677 = 1089 
    9810 – 0189 = 9621 
    9621 – 1269 = 8352 
    8532 – 2358 = 6174 
    输入样例2: 
    2222 
    输出样例2: 
    2222 – 2222 = 0000


    阅读全文>>

作者:Jason分类:【pat浏览(273评论(0

2018-01-17

1036. 跟奥巴马一起编程(15)-浙大PAT乙级真题java实现

    1036.跟奥巴马一起编程(15) 
    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 
    输入格式: 
    输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。 
    输出格式: 
    输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。 
    输入样例: 
    10 a 
    输出样例: 
    aaaaaaaaaa 
    a               a 
    a               a 
    a               a 
    aaaaaaaaaa


    阅读全文>>

作者:Jason分类:【pat浏览(361评论(0

2018-01-23

1041. 考试座位号(15)-浙大PAT乙级真题java实现

    1041. 考试座位号(15) 
    每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 
    输入格式: 
    输入第一行给出一个正整数N(<=1000),随后N行,每行给出一个考生的信息:“准考证号 试机座位号 考试座位号”。其中准考证号由14位数字组成,座位从1到N编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。考生信息之后,给出一个正整数M(<=N),随后一行中给出M个待查询的试机座位号码,以空格分隔。 
    输出格式: 
    对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用1个空格分隔。 
    输入样例: 

    10120150912233 2 4 
    10120150912119 4 1 
    10120150912126 1 3 
    10120150912002 3 2 

    3 4 
    输出样例: 
    10120150912002 2 
    10120150912119 1


    阅读全文>>

作者:Jason分类:【pat浏览(305评论(0

2018-01-23

1001. 害死人不偿命的(3n+1)猜想 (15分)-浙大PAT乙级真题java实现

    1001. 害死人不偿命的(3n+1)猜想 (15分)
    卡拉兹(Callatz)猜想:
    对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……
    我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?
    输入格式:
    每个测试输入包含1个测试用例,即给出自然数n的值。
    输出格式:

    输出从n计算到1需要的步数。

    输入样例

    3

    输出样例

    5


    代码链接

    阅读全文>>

作者:Jason分类:【pat浏览(327评论(0

2018-01-04