我要投稿 投诉建议

乐视网暑期实习生笔试题

时间:2022-09-25 12:40:34 笔试题目 我要投稿
  • 相关推荐

乐视网2017暑期实习生笔试题

  我们最终都要远行,最终都要与稚嫩的自己告别,告别是通向成长的苦行之路。下面CN人才网小编为大家带来的是乐视网2017暑期实习生笔试题,希望对大家有所帮助~

乐视网2017暑期实习生笔试题

  1[编程题] 兵临城下

  时间限制:1秒

  空间限制:32768K

  卢卡斯的驱逐者大军已经来到了赫柏的卡诺萨城,赫柏终于下定决心,集结了大军,与驱逐者全面开战。

  卢卡斯的手下有6名天之驱逐者,这6名天之驱逐者各赋异能,是卢卡斯的主力。

  为了击败卢卡斯,赫柏必须好好考虑如何安排自己的狂战士前去迎战。

  狂战士的魔法与一些天之驱逐者的魔法属性是相克的,第i名狂战士的魔法可以克制的天之驱逐者的集合为Si(Si中的每个元素属于[0,5])。

  为了公平,两名狂战士不能攻击同一个天之驱逐者。

  现在赫柏需要知道共有多少种分派方案。

  例:

  S1={01},S2={23},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为2和编号为3的天之驱逐者,共有四种方案:02,03,12,13。

  02---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为2的驱逐者;

  03---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为3的驱逐者;

  12---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为2的驱逐者;

  13---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为3的驱逐者;

  S1={01},S2={01},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,共有两种方案:01,10。

  输入描述:

  多组测试数据,请处理到文件结束。

  对于每组测试数据:

  第一行为一个整数N,代表狂战士的数量。

  第二行为N个字符串,第i个字符串表示第i个狂战士能够克制的天之驱逐者的集合。

  保证:

  1<=N<=6,1<=每个字符串的长度<=6,且每个字符都是0~5中的一个数字。

  输出描述:

  输出一个整数,代表分配方案数

  输入例子:

  2

  01 23

  2

  01 01

  3

  3 015 5

  输出例子:

  4

  2

  2

  参考答案:

  #include

  #include

  #include

  using namespace std;

  string s[6];

  int n;

  int vis[6];

  int ans;

  void dfs(int p)

  {

  if(p == n)

  {

  ans++;

  return;

  }

  for(inti =0; i < s[p].length(); i++)

  {

  if(vis[s[p][i]-'0'] == 0)

  {

  vis[s[p][i]-'0'] = 1;

  dfs(p+1);

  vis[s[p][i]-'0'] = 0;

  }

  }

  }

  int main()

  {

  while(cin>>n)

  {

  ans =0;

  memset(vis,0,sizeof(vis));

  for(inti =0; i < n; i++)

  cin>>s[i];

  dfs(0);

  cout<

  }

  }

  2[编程题] 幻兽交易

  时间限制:1秒

  空间限制:32768K

  在最近几场魔兽争霸赛中,赫柏对自己的表现都不满意。

  为了尽快提升战力,赫柏来到了雷鸣交易行并找到了幻兽师格丽,打算让格丽为自己的七阶幻兽升星。

  经过漫长的等待以后,幻兽顺利升到了满星,赫柏很满意,打算给格丽一些小费。

  赫柏给小费是有原则的:

  1.最终给格丽的钱必须是5的倍数;

  2.小费必须占最终支付费用的5%~10%之间(包含边界)。

  升星总共耗费A魔卡,赫柏身上带了B魔卡,赫柏想知道他有多少种支付方案可供选择。

  注:魔卡是一种货币单位,最终支付费用=本该支付的+小费

  输入描述:

  多组测试数据,请处理到文件结束。

  对于每组测试数据:

  包含两个整数A和B。

  保证:

  1<=A,B<=2,000,000,000,A<=B。

  输出描述:

  输出一个整数,代表方案数。

  输入例子:

  4 100

  23 100

  输出例子:

  0

  1

  参考答案:

  #include

  #include

  using namespace std;

  int main()

  {

  int a,b;

  while(cin>>a>>b)

  {

  int count = 0;

  int start = ceil(a/0.95);//起点(向上取整)

  int end = floor(a/0.90);//终点(向下取整)

  while((start % 5 != 0)&&(start<=end))

  ++start;

  for(int i = start; i <= end&&i <= b; i += 5)

  ++count;

  cout<

  }

  return 0;

  }

  3

  [编程题] 禁忌雷炎

  时间限制:1秒

  空间限制:32768K

  赫柏在绝域之门击败鲁卡斯后,从鲁卡斯身上掉落了一本高级技能书,赫柏打开后惊喜地发现这是一个早已失传的上古技能---禁忌雷炎。

  该技能每次发动只需扣很少的精神值,而且输出也非常高。

  具体魔法描述如下:

  把地图抽象为一个二维坐标,技能发动者位于(0,0)位置。以技能发动者为中心,做一个半径为r的圆,满足r^2=S,如果敌人位于这个圆上,且位置为整点坐标,这个敌人将收到该技能的输出伤害。。

  例如当S=25时,将有12个敌人受到该技能的输出伤害,如下图所示:

  更厉害的是,禁忌雷炎可以通过改变魔法输入来控制S的大小,因此数学好的魔法师可以通过该技能攻击到更多的敌人。

  赫柏想将这个技能学会并成为自己的主技能,可数学是他的硬伤,所以他请求你为他写一个程序,帮帮他吧,没准他就把禁忌雷炎与你分享了 : )

  输入描述:

  多组测试数据,请处理到文件结束。

  对于每组测试数据,只包含一个整数S。

  保证:

  1<=S<=2,000,000,000。

  输出描述:

  输出一个整数,代表受到禁忌雷炎伤害的敌人数量。

  输入例子:

  25

  3

  输出例子:

  12

  0

  参考答案:

  只需要按一个方向遍历一遍 利用勾股定理x*x+y*y = r*r 即可解决四分之一圆周的点 *4 即为结果

  #include

  #include

  #include

  #include

  using namespace std;

  int n;

  int main()

  {

  while(cin>>n)

  {

  int ans = 0;

  for(int i = 0; i*i < n; i ++)

  {

  int j = n - i*i;

  int s = sqrt(j);

  if(s*s == j)ans++;

  }

  cout<<4*ans<

  }

  }