腾讯真题汇总

一、翻转数列

小Q定义了一种数列称为翻转数列:给定整数nm, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4...每隔m个符号翻转一次, 最初符号为-。例如n = 8, m = 2,数列就是-1, -2, +3, +4, -5, -6, +7, +8;而n = 4, m = 1, 数列就是-1, +2, -3, +4。小Q现在希望你能帮他算算前n项和为多少。

import sys
while True:
    s = sys.stdin.readline().strip()
    if not s:
        break
    n, m = map(int, s.split(" "))
    print(n*m/2)

二、纸牌游戏

牛牛和羊羊正在玩一个纸牌游戏。这个游戏一共有n张纸牌,第i张纸牌上写着数字ai。牛牛和羊羊轮流抽牌,牛牛先抽,每次抽牌他们可以从纸牌堆中任意选择一张抽出,直到纸牌被抽完。他们的得分等于他们抽到的纸牌数字总和。现在假设牛牛和羊羊都采用最优策略,请你计算出游戏结束后牛牛得分减去羊羊得分等于多少。

解:先排序,然后牛牛抽index为奇数的牌,羊羊抽index为偶数的牌。

import sys
while True:
    n = sys.stdin.readline().strip()
    s = sys.stdin.readline().strip()
    if not n or not s:
        break
    l = list(map(int, s.split(' ')))
    l.sort(reverse = True)
    ans = 0
    for i in range(len(l)):
        if i % 2 == 0:
            ans += l[i]
        else:
            ans -= l[i]
    print(ans)

三、贪吃的小Q

小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力?
输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,表示父母出差的天数N (N <= 50000)和巧克力的数量M (N <= M <= 100000)
输出描述:输出一个数表示小Q第一天最多能吃多少块巧克力。
\color{red}{输入:3、7}
\color{red}{输出:4}

解:小Q第一天最多吃m个,因为一共就m个巧克力。设小Q第一天吃的数量为i,将im往下不断递减,直到满足条件为止:
(1)第n天吃的数量仍然大于1。此时,只要m-total_n>0即可;
(2)在第count天之前吃的数量已经等于1了。此时,只要剩余的巧克力数量大于剩余的天数,也就是m-total_k>n-count即可。

import sys
while True:
    s = sys.stdin.readline().strip()
    if not s:
        break
    n, m = map(int, s.split(" "))
    for i in range(m, 0, -1):
        eat = 0
        today = i
        count = 0
        while count < n and today > 1:
            count += 1
            eat += today
            today = (today+1)//2
        if m - eat >= n - count:
            print(i)
            break

四、小Q的歌单

小Q有X首长度为A的不同的歌和Y首长度为B的不同的歌,现在小Q想用这些歌组成一个总长度正好为K的歌单,每首歌最多只能在歌单中出现一次,在不考虑歌单内歌曲的先后顺序的情况下,请问有多少种组成歌单的方法。
输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个整数,表示歌单的总长度K (1 <= K <= 1000)。接下来的一行包含四个正整数,分别表示歌的第一种长度A (A <= 10)和数量X (X <= 100)以及歌的第二种长度B (B <= 10)和数量Y (Y <= 100)。保证A不等于B
输出描述:输出一个整数,表示组成歌单的方法取模。因为答案可能会很大,输出对1000000007取模的结果。
\color{red}{输入:5enter 2、3、3、3}
\color{red}{输出:9}

import sys
while True:
    K = sys.stdin.readline().strip()
    s = sys.stdin.readline().strip()
    if not K or not s:
        break
    A, X, B, Y = map(int, s.split(" "))
    K = int(K)
    ans = 0
    i = 0
    while i <= X and i*A <= K:
        rem = K - i*A
        if rem % B == 0:
            j = rem // B
            if j <= Y:
                count_i, count_j = 1, 1
                for p in range(X, X-i, -1):
                    count_i *= p
                for q in range(i, 0, -1):
                    count_i //= q
                for p in range(Y, Y-j, -1):
                    count_j *= p
                for q in range(j, 0, -1):
                    count_j //= q
                ans += count_i * count_j
        i += 1
    print(ans % 1000000007)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354