目录

1. 代价

2. 访友

3. 翻转翻转


1. 代价

你有3个需要完成的任务,完成这3个任务是需要付出代价的。
首先,你可以不花任何代价的完成一个任务;然后,在完成了第i个任务之后,你可以花费|Ai - Aj|的代价完成第j个任务。|x|代表x的绝对值。
计算出完成所有任务的最小代价。

输入描述:

一行3个整数A1,A2,A3,每个数字之间用一个空格分隔。所有数字都是整数,并且在[1,100]范围内。

输出描述:

一个整数,代表最小的代价。

输入例子1:

1 6 3

输出例子1:

5

输入例子2:

10 10 10

输出例子2:

0

思路:将数据排序,从最后一个开始,依次往前,累加当前任务和前一个的差即可。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main()
{vector<int> data;int tmp, res = 0;for (size_t i = 0; i < 3; i++){cin>>tmp;data.push_back(tmp);}sort(data.begin(),data.end()); //排序for (size_t i = data.size()-1; i >0; i--){res += data[i] - data[i-1]; //从后往前依次累加差}cout<<res<<endl;return 0;}

2. 访友

小易准备去拜访他的朋友,他的家在0点,但是他的朋友的家在x点(x > 0),均在一条坐标轴上。小易每一次可以向前走1,2,3,4或者5步。问小易最少走多少次可以到达他的朋友的家。

输入描述:

一行包含一个数字x(1 <= x <= 1000000),代表朋友家的位置。

输出描述:

一个整数,最少的步数。

输入例子1:

4

输出例子1:

1

输入例子2:

10

输出例子2:

2

思路一:一直往前走,每一步都迈最大的步子

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main()
{int tmp, res = 0;int cur = 0, next = 0, jump = 0;int des;cin>>des;for (int i = 0; i <= des; i++){if (cur<i) //还没有到达终点,最后一次是从des-1的地方开始走{jump++;   //向前走一步cur = next; //将从i-1能到达的最远的地方给cur}next = max(next, i+5); //从i出发能到达的最远的地方}cout<<jump<<endl;return 0;}

思路二:简单求解,每一次都走5步,最后不够5步的加一次就好,只能针对这种特殊情况才能用。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main()
{int tmp, res = 0;int cur = 0, next = 0, jump = 0;int des;cin>>des;if (des%5 > 0){jump = des/5+1;}else{jump = des/5;}cout<<jump<<endl;return 0;}

3. 翻转翻转

 给定一个N*M的矩阵,在矩阵中每一块有一张牌,我们假定刚开始的时候所有牌的牌面向上。
现在对于每个块进行如下操作:
> 翻转某个块中的牌,并且与之相邻的其余八张牌也会被翻转。
XXX
XXX

XXX

如上矩阵所示,翻转中间那块时,这九块中的牌都会被翻转一次。
请输出在对矩阵中每一块进行如上操作以后,牌面向下的块的个数。

输入描述:

输入的第一行为测试用例数t(1 <= t <= 100000),
接下来t行,每行包含两个整数N,M(1 <= N, M <= 1,000,000,000)

输出描述:

对于每个用例输出包含一行,输出牌面向下的块的个数

输入例子1:

5
1 1
1 2
3 1
4 1
2 2

输出例子1:

1
0
1
2
0

思路一:分三种情况

1. 一行一列的只能翻一次,返回1

2. 1*m或n*1的情况一种,两头牌翻两次不变,中间的牌翻三次,向上变为向下,总的牌数减2即为结果

3. m*n的情况,4个角的牌被翻4次不变,4个边上除了角上的牌,会被翻6次也不变,中间的牌会被翻9次,向上变为向下,所以只要统计中间的牌有多少张就好,注意测试数据很大,需要用long long类型。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main()
{long long num, N, M;vector<vector<long long>> data, data1;vector<long long> data_tmp, result;long long tmp, res = 0;cin>>num;for (int i=0;i<num;i++) //读数据{cin>>N>>M;data_tmp.push_back(N);data_tmp.push_back(M);data.push_back(data_tmp);data_tmp.clear();}for (int i=0;i<num;i++){if (data[i][0] == 1 && data[i][1] == 1)    //1*1{result.push_back(1);}else if(data[i][0] == 1 || data[i][1] == 1){   //1*m或n*1result.push_back(max(data[i][0], data[i][1]) - 2);}else{                               //m*nresult.push_back((data[i][0] - 2) * (data[i][1] - 2));}}for (int i=0;i<result.size();i++){cout<<result[i]<<endl;}//cout<<result<<endl;return 0;}

思路二:对每一张牌按照题目要求进行翻牌操作,在这里为了避免最外一层的牌需要判断边界的问题,在最开始的时候在最外层加一层牌,这样就避免了边界判断的问题。

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;int main()
{int num, N, M;vector<vector<int>> data, data1;vector<int> data_tmp, result;int tmp, res = 0;cin>>num;for (int i=0;i<num;i++) //读数据{cin>>N>>M;data_tmp.push_back(N);data_tmp.push_back(M);data.push_back(data_tmp);data_tmp.clear();}for (int i=0;i<num;i++){for (int j=0;j<data[i][1]+2;j++) //在最外层加上边界{data_tmp.push_back(0);}data1.push_back(data_tmp);data_tmp.clear();for (int j=0;j<data[i][0];j++){data_tmp.push_back(0);for (int p=0;p<data[i][1];p++){data_tmp.push_back(0);}data_tmp.push_back(0);data1.push_back(data_tmp);data_tmp.clear();}for (int j=0;j<data[i][1]+2;j++){data_tmp.push_back(0);}data1.push_back(data_tmp);data_tmp.clear();for (int m=1; m<data[i][0]+1; m++) //对每一张牌进行翻牌操作{for (int n=1; n<data[i][1]+1; n++){for (int p=-1;p<=1;p++){for (int q=-1;q<=1;q++){if (data1[m+p][n+q] == 0){data1[m+p][n+q] = 1;}else{data1[m+p][n+q] = 0;}}}}}for (int m=1; m<data[i][0]+1; m++) //统计朝下的牌{for (int n=1; n<data[i][1]+1; n++){if (data1[m][n] == 1){res += 1;}}}result.push_back(res);res = 0;data1.clear();}for (int i=0;i<result.size();i++){cout<<result[i]<<endl;}//cout<<result<<endl;return 0;}

2019网易笔试(1-3题)相关推荐

  1. 2019网易笔试(4-7题)

    目录 4. 买房 5. 香槟塔 6. 社团主席选举 7. 橡皮泥斑马 4. 买房 在一条街上有n幢房子,标号从1到n,两个在标号上相差为1的房子视为相邻,这些房子中有k幢房子已有住户. 现你准备搬入这 ...

  2. 腾讯2019实习生笔试(编程题)

    题目还没放出来,等更新.堆头文件习惯,别见怪. A题:找规律 注意结果开long long #include <fstream> #include <iostream> #in ...

  3. 2020网易笔试第四题

    题目描述 英雄与怪兽.更新二维数组中的值 n*m的地图上,每个位置值为0或1,0表示怪兽,1表示英雄,对于每个英雄求出离他最近的怪兽的距离是多少,矩阵中每个位置离上下左右的距离都是1,若当前位置是怪兽 ...

  4. 网易 2019 秋季校园招聘编程题真题集合

    网易 2019 秋季校园招聘编程题真题集合 第一题 俄罗斯方块 问题描述 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同. 荧幕上一共有 n 列, ...

  5. 网易笔试001(HR之声)

    一.HR之声: 技术笔试为何难过人文关 解剖网易笔试题 网易互动于2月启动了06年社会招聘计划,技术部热聘职位:高级程序员.系统治理员.数据库治理员.游戏测试工程师.从CSDN人才论坛的讨论.以及网易 ...

  6. 2017网易笔试矩阵快速幂

    昨天网易笔试,竟然除了矩阵快速幂的题目,日了狗了,离开acm好久了,忘得差不多了,囫囵吞枣补一下吧,哎,太菜了! 题目如下 小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使 ...

  7. 网易笔试之后的自我反省

    网易笔试过后,心里空空的.下来也和同学们交流,可能大家以为我比较水,在我谈到写那个大数类的时候,直接否认了我的分段加法思想.虽然被否认,但是我却不能懈怠,更不能因此沮丧或者自我否定.我应该在质疑声中证 ...

  8. 集合篇8:笔试编程原题

    笔试编程原题 1.提数排序 2.四边形面积 3.各不相等(未AC) 4.堆积木(未AC) 5.小草张高 6.从字符串中提取整数 7.判断两个矩形是否相交:反其道而行之 8. 0-1背包问题(not) ...

  9. 百度秋招笔试三道编程题(2021-09-07)

    通知:最新的秋招笔试编程题题目.思路以及参考代码已经全部整理好放在[TechGuide]了,私信公众号回复[美团]或者[百度]即可获得最实时的笔试题解啦! 通知:最新的秋招笔试编程题题目.思路以及参考 ...

最新文章

  1. 获取二叉树的所有叶子节点、获取全树深度与左右子树深度求解:递归
  2. 【技术实验】表格存储Tablestore准实时同步数据到Elasticsearch
  3. 算法----- 给定一颗二叉树,找到二叉树上任意两个节点之间的距离(Java版本)
  4. 数字信号处理第一章 离散时间信号与系统
  5. AD在Windows Server 2003中的更新(中)
  6. android设置提交的隐藏域以及在onItemClick中获取对应的数据
  7. APNIC执委赵巍:IPv4向IPv6过渡再无退路
  8. Python学习笔记——glob模块【文件、路径操作】
  9. java mysql proxy_Amoeba是一个类似MySQL Proxy的分布式数据库中间代理层软件,是由陈思儒开发的一个开源的java项目...
  10. Oracle数据库基础1-数据类型与约束
  11. AS打包APK时,一直缺失so库的解决办法
  12. STM32F107 资料
  13. CAJ浏览器看论文如何设置背景为护眼色
  14. 手把手教你如何复现MS17-010永恒之蓝漏洞
  15. 大数据和数据挖掘有什么关系
  16. linux的内存available,Linux中available内存的计算
  17. Hadoop数字统计
  18. windows10突发explorer.exe“没有注册类”错误的解决方式
  19. 5.20 按照邮箱账号的域名进行排序 [原创Excel教程]
  20. 2.CPU体系架构-寄存器

热门文章

  1. 基于Matlab的多普勒脉冲雷达回波仿真
  2. 机场客流量的时空分布预第一名方案
  3. Namesilo域名注册购买教程
  4. GPS定位系统源码,通用系统源码包含GPS行业核心功能可轻松开发出各类行业应用
  5. 小实战项目之——吃货联盟订餐系统
  6. 2023上海国际天然食用胶产业展览会暨发展大会
  7. AngularJs 总结
  8. 3.20上午学习英语听力
  9. 平均斯坦和极端斯坦_什么是“斯坦”,名称从何而来?
  10. BOGNER博格纳正式宣布杨洋为品牌代言人