爱奇艺 秋招 测试开发工程师 笔试 1题AC+2题思路

第一题:
切割块,大意是x y z的立方体,切k刀,只能整点坐标切割
思路:平均切,一面一刀,开longlong
写的很繁琐 233333
#include<cstdio>
#include<algorithm>
using namespace std;

int main()
{
      int x,y,z;
      int k;
      int xx,yy,zz;
      long long ans;

      scanf("%d%d%d%d",&x,&y,&z,&k);

      xx=1;yy=1;zz=1;
      int step;
      step=1;
      for (int t=1;t<=k;t++)
      {
            if (xx==x && yy==y && zz==z) break;

            if (step==1)
            {
                  if (xx<x)
                  {
                        xx++;
                        step=2;
                  }
                  else if (yy<y)
                  {
                        yy++;
                        step=3;
                  }
                  else if (zz<z)
                  {
                        zz++;
                        step=1;
                  }
            }
            else if (step==2)
            {
                  if (yy<y)
                  {
                        yy++;
                        step=3;
                  }
                  else if (zz<z)
                  {
                        zz++;
                        step=1;
                  }
                  else if (xx<x)
                  {
                        xx++;
                        step=2;
                  }
            }
            else if (step==3)
            {
                  if (zz<z)
                  {
                        zz++;
                        step=1;
                  }
                  else if (xx<x)
                  {
                        xx++;
                        step=2;
                  }
                  else if (yy<y)
                  {
                        yy++;
                        step=3;
                  }
            }
      }
      ans=xx*yy;
      ans=ans*zz;
      printf("%lld\n",ans);

      return 0;
}

第二题不会
给定长度为N-1的01序列A,P为1~N的数列
求满足:A[i]=0时P[i]<P[i+1],A[i]=1时P[i]>P[i+1] 的P的排列的方案数

暴搜剪不剪枝都18%...直接输样例也18%,写到自闭,是我配不上爱奇艺!
然后我去问巨佬第二题思路了
f[i][j]表示我们处理到了第i位,第i位的数字,在接下来的m=(n-i+1)个数(包括第i个位置)中排第j的方案数
a[i]==0:此时有m-j个数可以放在下一个位置,可以更新的是f[i+1] [j ~ m-j] ,就是在j~m中找比当前j大的数来更新,这一段的数,要+=f[i][j]
a[i]==1:此时有j-1个数可以放在下一个位置,可以更新f[i+1][1 ~ j]


#爱奇艺##笔试题目#
全部评论
import copy a = input() array = list(map(int,raw_input().split())) empty_list = [] empty_list1 = [] count = 0 def full_arrange(n):     data = []     res = []     if n==1:         return 1     res = [[1]]     for i in range(2,n+1):         for j in range(len(res)):             for x in range(len(res[j])+1):                 data = copy.copy(res[j])                 data.insert(x,i)                 res.append(data)                 x += 1             j += 1         while True:             if len(res[0]) != i:                 res.remove(res[0])             else:                 break         i += 1     return res #print(full_arrange(3)) possible = full_arrange(a) def solution(x):     for i in range(len(x)-1):         if x[i] > x[i+1]:             m = 1             empty_list.append(m)         if x[i] <x[i+1]:             m = 0             empty_list.append(m)     return (empty_list) for i in possible:     empty_list1.append(solution(i)) print(empty_list1) for i in range(len(empty_list1)):     if array == empty_list1[i]:         count = count+1 print(count) 第二题答案,每次都是马后炮,因为一个小细节没通过,考完了五分钟就解决了😣
点赞 回复 分享
发布于 2019-09-08 17:20
请问爱奇艺测开笔试题型都有什么啊?
点赞 回复 分享
发布于 2020-08-21 18:26
from functools import lru_***  N=int(input()) S=input().split(' ')  MOD = 10**9 + 7  N = len(S)  @lru_***(None)  def dp(i, j):  if i == 0:  return 1  elif S[i-1] == '1':  return sum(dp(i-1, k)  for k in range(j, i)) % MOD  else: return sum(dp(i-1, k) for k in range(j)) % MOD  print(sum(dp(N, j) for j in range(N+1)) % MOD)
点赞 回复 分享
发布于 2019-09-08 17:24
第一题为什么每步切x y z的顺序要不一样呢
点赞 回复 分享
发布于 2019-09-08 17:17
第一题可以解释一下思路吗?
点赞 回复 分享
发布于 2019-09-08 17:13
哈哈爆搜剪枝我36 leetcode903 原题 没刷到那么远
点赞 回复 分享
发布于 2019-09-08 17:07

相关推荐

行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
02-26 09:15
已编辑
蚌埠学院 golang
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务