题目来源:牛客网

1. 翻转数列

解题思路:

这道题目非常简单,可以设置一个flag变量,用来控制符号的编号,然后循环累计就可以得到结果。

AC代码:

#include <stdio.h>int main(){int n, m;scanf("%d %d", &n, &m);long long sum = 0;int flag = -1;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++)sum += (flag * i);flag *= -1;}printf("%lld\n", sum);return 0;
}

2. 纸牌游戏

解题思路:

贪心算法,每个人每次都是抽当前数字最大的纸牌,因此只需要将数组进行排序,然后模拟两个人依次抽纸牌,将第二个人抽的纸牌数字乘上-1,进行累加即可得到结果。

AC代码:

#include <stdio.h>
#include<algorithm>
using namespace std;bool compare1(int a, int b){return a > b;}int main(){int n;scanf("%d", &n);int card[n];for(int i = 0; i < n; i++){scanf("%d", &card[i]);}sort(card, card + n, compare1);int flag = -1, sum = 0;for(int i = 0; i < n; i++){flag *= -1;sum += card[i] * flag;}printf("%d\n", sum);return 0;
}

3.贪吃的小Q

解题思路:

二分查找,需要注意的是,第二天吃的巧克力数量不少于第一天的一半,需要进行处理,否则前一天吃的巧克力是奇数的情况下会出现问题,比如前一天吃了19块巧克力,那么第二天至少吃10块巧克力,而不是19/2=9块巧克力。在程序中用了对2取余是否等于0来处理这种情况。

AC代码:

#include <stdio.h>int sum(int mid, int n){int sum = 0;for(int i = 0; i < n ; i++){sum += mid;mid = mid % 2 == 0? mid / 2: mid / 2 + 1;}return sum;
}int find(int n, int m){int l = 1, h = m;while(l <= h){int mid = (l + h) / 2;if(sum(mid, n) == m) return mid;else if(sum(mid, n) > m) h = mid - 1;else l = mid + 1;}return h;
}int main(){int n, m;scanf("%d %d", &n, &m);int ans = find(n, m);printf("%d\n", ans);return 0;
}

4.小Q的歌单

解题思路:

组合问题

AC代码:

include <stdio.h>long long c[105][105];
int mod = 1000000007;void init(){c[0][0] = 1;for(int i = 1; i <= 100; i++){c[i][0] = 1;for(int j = 1; j <= 100; j++){c[i][j] = (c[i-1][j-1] + c[i-1][j]) % mod;}}
}int main(){int k;scanf("%d", &k);int a, x, b, y;scanf("%d %d %d %d", &a, &x, &b, &y);long long ans = 0;init();for(int i = 0; i <= x; i++){if(i*a <= k && (k-i*a)%b == 0 && (k-i*a)/b <= y){ans = (ans + (c[x][i] * c[y][(k - i * a) / b]) % mod) % mod;}}printf("%lld\n", ans);return 0;
}

5.安排机器

6.画家小Q


解题思路:

遍历每次遇到Y或者B,把对应斜线上的所有颜色改成X,次数加一;遇到G时,分别朝斜率为+1和-1方向将斜线上的Y或者B改为X,次数加二。

AC代码:

#include <iostream>
using namespace std;
int r, c;
char color[55][55];void changeB(int p, int q){while(p != r && q != -1){if(color[p][q] == 'B') color[p][q] = 'X';else if(color[p][q] == 'G') color[p][q] = 'Y';else break;p++; q--;}
}void changeY(int p, int q){while(p != r && q != c){if(color[p][q] == 'Y') color[p][q] = 'X';else if(color[p][q] == 'G') color[p][q] = 'B';else break;p++; q++;}
}int main() {cin >> r >> c;for(int i = 0; i < r; i++) {for(int j = 0; j < c; j++)cin >> color[i][j];}int count = 0;for(int i = 0; i < r; i++) {for(int j = 0; j < c; j++){if(color[i][j] == 'Y'){int p = i + 1, q = j + 1;color[i][j] = 'X';changeY(p, q);count++;}else if(color[i][j] == 'B') {int p = i + 1, q = j - 1;color[i][j] = 'X';changeB(p, q);count++;}else if(color[i][j] == 'G'){color[i][j] = 'X';changeY(i+1, j+1);changeB(i+1, j-1);count += 2;}}}cout << count << endl;return 0;
}

2018腾讯秋招笔试题相关推荐

  1. 腾讯 2015秋招笔试题 编程题2:九宫格填数

    腾讯 2015秋招笔试题 编程2:九宫格填数 题目 2: 有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案. 配合加减乘除,使得九宫格横竖都等于4. 智力冲浪 数字推理 请 ...

  2. 2020大疆秋招笔试题B卷

    2020大疆秋招笔试题B卷 选择题(选项没抄下来)10道记了9道 1.关于常指针和指向常量的指针 2.多线程调用如下函数,a,b,c哪些需要加锁保护 int a = 0; void knit() {s ...

  3. 2021网易秋招笔试题(Android开发)

    网易笔试题(2021.08.08) 校招的笔试题通常是4道编程题,时间为2个小时,每题25分. 2021秋招笔试题总结如下,包含问题和代码实现. 题1:查找关键词 查找关键词(单词在文章中出现频率&g ...

  4. 意淫系列-2018美图春招笔试题

    2018美图春招笔试题 只是试水,没有A类会议拒绝实习. 题不难,陪女朋友吃饭去了,然后就没怎么时间,只是看了下题. 题型:选择题和编程题,选择题25道,涉及数据结构,C,Python,C++,图像, ...

  5. 2018年京东春招笔试题

    2018年京东春招笔试题(2018.04.09) 题目一 整数分解 题目描述 小Q的数学老师给小Q一个整数N,问小Q能否将W分解为两个整数X和Y相乘,并且满足X为奇数,Y为偶数.即能否找到奇数X和偶数 ...

  6. 字节跳动-2020秋招-笔试题剖析【5道算法题】

    字节跳动-2020秋招-笔试题剖析[5道算法题],限时120分钟. 让我们一起来看看这些题吧! 题一:模型文件去重 [题目描述] 抖音上不同的用户类型我们有不同的用户模型文件. 我们有一个模型配置文件 ...

  7. 酷狗java秋招笔试题

    酷狗java秋招笔试题 单选题 1.在命中率极高的缓存设计中,时间复杂度最差的数据结构是( B ). A. 数组 B. 链表 C. 树 D. 哈希表 2.某二叉树共有11个结点,其叶子结点只有2个.则 ...

  8. 字节跳动2020届秋招笔试题

    字节跳动2020届秋招第一批笔试题(2019.8.11) 文章目录 字节跳动2020届秋招第一批笔试题(`2019.8.11`) 第一题[编程题25分]: 闹钟叫醒去上课 第二题[编程题25分]: 秘 ...

  9. 嵌入式软件工程师 秋招笔试题

    某半导体公司的笔试题,当时花在C语言上的时间太少,答得很不好,现在有时间就分析一下错题吧. 1.存储一个32位数0x12345678到0x1000H-0x1003H四个字节单元中,若以小端模式存储,则 ...

最新文章

  1. 区块链共识算法:PoS即权益证明 DPoS委托授权的权益证明
  2. 引人遐想,用 Python 获取你想要的 “某个人” 摄像头照片
  3. Linux系统工程师的必备素质
  4. 北大率先官宣朱松纯加盟,现身燕园,任职AI研究院院长,“AI发展离不开哲学思考”...
  5. 火焰图 性能分析 java,使用火焰图进行Java应用性能分析
  6. Angular - 如何在页面加载后马上做初始化
  7. 最小错误率贝叶斯决策的基本思想_太赞了!机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)...
  8. 编写干净的测试-被认为有害的新内容
  9. 九种跨域方式实现原理
  10. 2万8千张图片如何用python组成一张(简洁明了附源码)
  11. 孙正义在比特币上栽了?传其亏损超过1.3亿美元...
  12. Mysql8.0.12解压版安装亲测(步骤超级简单)
  13. 公司终于把我变成了一颗忠诚的螺丝钉,我再也不能离开它
  14. 【优化算法】多目标人工蜂群算法(MOABC)【含Matlab源码 1236期】
  15. 微信小程序UI组件库集合(个人收藏)
  16. 联想V470 安装win7系统 经验
  17. 重启Oracle数据库实例及监听器
  18. 台式计算机把光驱改成硬盘,笔记本电脑光驱怎么改成硬盘|笔记本光驱位换成硬盘方法...
  19. 公司要抽奖活动?50行Python代码制作了一个转盘抽奖小程序
  20. 2018年6月13日任务

热门文章

  1. Java使用poi给Word加水印(目前自己了解的仅支持后缀为.docx格式的,.doc仍在研究)开源、免费。
  2. VMware WorKstation虚拟机上 Linux 6最小化安装和基本网络环境配置
  3. Erlang中的fun函数使用详解
  4. 小米 解析软件包时出现问题 解决
  5. 酷比魔方iwork1x全套驱动
  6. 第二十三天 小丁再战链表
  7. 下载编译curaEngine
  8. Python 实现“替换”功能
  9. QlikView处理数据
  10. PhotoShop CC 2017软件工具面板使用---快速选择工具