第一次抓题,写一篇题解庆祝一下(bushi

地址 hut第三次面试

A题yyj的电影
题意:给三个类型,1.2.3,关键点在于3这种类型,会跟风,所以把所有差评即2这种类型的放到一个网站,再把1.3放到另一个网站,签到题,主要就是读懂题目意思,计算一下1.3的个数就行,代码仅供参考

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;const int N = 210;int main() {int t;cin >> t;while (t--) {int n;cin >> n;int cnt = 0;while (n--) {int a;cin >> a;if (a == 1 || a == 3)cnt++;}cout << cnt << endl;}return 0;
}

B题一一学姐的烦恼
题意:经过一次操作,使剩下的字符串为’2020’,由于只能进行一次操作并且是取出连续的子串,所以符合答案可以取出“2020”的只有四种情况

a[0]='2',a[1]='0',a[2]='2',a[3]='0';
a[0]='2',a[1]='0',a[2]='2',a[n-1]='0';
a[0]='2',a[1]='0',a[n-2]='2',a[n-1]='0';
a[0]='2',a[n-1]='0',a[n-2]='2',a[n-1]='0';

所以我们只要暴力判断是否符合这四种情况即可

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;const int N = 210;
char a[N];int main() {int t;cin >> t;while (t--) {int n;cin >> n;cin >> a;if (a[0] == '2' && a[1] == '0' && a[2] == '2' && a[3] == '0')cout << "YES" << endl;else if (a[0] == '2' && a[1] == '0' && a[2] == '2' && a[n - 1] == '0')cout << "YES" << endl;else if (a[0] == '2' && a[1] == '0' && a[n - 2] == '2' && a[n - 1] == '0')cout << "YES" << endl;else if (a[0] == '2' && a[n - 3] == '0' && a[n - 2] == '2' && a[n - 1] == '0')cout << "YES" << endl;else if (a[n - 4] == '2' && a[n - 3] == '0' && a[n - 2] == '2' && a[n - 1] == '0')cout << "YES" << endl;else cout << "NO" << endl;}return 0;
}

CD两题问惠姐姐[dogs]
惠姐姐给的题解
惠姐姐yyds
C题这题是一个比较考思维的题
把图画出来就好写很多

仔细观察,不难发现偶数的步数都从顶角开始隔一个一个地方
奇数则是边角的另一个
奇数就是从边长为2的正方形开始,到边长为n+1的正方形结束
而偶数是隔一个正方形来加
需要注意的是要特判4的倍数,因为原点也算一个地方。

代码如下:

#include <stdio.h>
#include <string.h>int main()
{int n;scanf("%d",&n);int i;int sum=0;if(n%2==0) {for (i=n; i>=2; i-=4) {sum+=4+4*(i/2-1);}} else {for (i=n+1; i>=2; i-=2) {sum+=4*i/2;}}if(n==1) {sum=4;}if(n%4==0) {sum++;}printf("%d\n",sum); return 0;
}

D题也是惠姐姐给的题解
这本来是一题背包题,结果被你们暴力写出来了
那这里写两种解法
背包法:

#include <stdio.h>
#include <string.h>int s[]={10,20,50,100};
int f[1001];
int main()
{int n;scanf("%d",&n);int i,j;f[0]=1;for (i=0; i<4; i++) {for (j=s[i]; j<=n; j++) {f[j]+=f[j-s[i]];}}prinf("%d\n",f[n]);return 0;
}

这里先不讲背包,讲起来很麻烦,感兴趣的可以移步csdn搜背包问题学一学背包。

暴力法:

#include <stdio.h>
#include <math.h>int main()
{int n;scanf("%d",&n);int i,j,k,x;int a=n/100;int b=n/50;int c=n/20;int d=n/10;int sum=0;for (i=a; i>=0; i--) {for (j=b; j>=0; j--) {for (k=c; k>=0; k--) {for (x=d; x>=0; x--) {if(n==i*100+j*50+k*20+x*10) {sum++;}}}}}printf("%d\n",sum);return 0;
}

暴力法还挺好理解的,就是用a,b,c,d四个变量分别存有多少个100,50,20,10。
然后直接循环就可以了。

E题惠姐姐送你的签到题
就是一题求最小公倍数的题,不清楚最小公倍数定义的建议百度哦,可以从一开始暴力写,也可以求出最大公因子然后a和b的最小公倍数即

a * b / gcd(a ,b);
//gcd(a, b)即返回的值为最大公因子
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;int gcd(int a, int b) {return b ? gcd(b, a % b) : a;
}
int lcm(int a, int b) {return a * b / gcd(a, b);
}int main() {int a, b;while (cin >> a >> b) {cout << lcm(a, b) << endl;}return 0;
}

下面这个gcd和lcm的建议背诵

int gcd(int a,int b)//辗转相除法(欧几里德算法)求最大公约数{return b ? gcd(b,a%b) : a;}int lcm(int a,int b){return a*b/gcd(a,b);//最小公倍数 }

代码仅供参考,可以暴力写,但是是因为这一题数据范围很小,所以不会超时,如果其他数据范围太大会超时的。
提供C语言版本

#include <stdio.h>
#include <math.h>int gcd(int a,int b)
{int i;int min;if(a<b) {min=a;} else {min=b;}for (i=min; i>=1; i--) {if(a%i==0 && b%i==0) {return i;}}} int main()
{int a,b;while (scanf("%d %d",&a,&b)!=EOF) {int x=gcd(a,b);int sum=a*b/x;printf("%d\n",sum);}return 0;
}

F题惠姐姐yyds
这题其实并不难,只是题目有些人没看懂,一定要注意,是恢复这个数列,而不是让你照着这个规律排
代码如下:

#include <stdio.h>
#include <string.h>long long a[303],b[303];
int main()
{int t;int n;scanf("%d",&t);while (t--) {scanf("%d",&n);int i,j,k;for (i=1; i<=n; i++) {scanf("%lld",&a[i]);
}j=1;k=n;for (i=1; i<=n; i++) {if(i%2!=0) {b[i]=a[j];j++;} else {b[i]=a[k];k--;}}for (i=1; i<=n; i++) {printf("%lld",b[i]);if(i==n) {printf("\n");} else {printf(" ");
}}}return 0;
}

不懂再问惠姐姐

G题惠姐姐的百宝箱
这题有些人看到n<=7竟然想打表
是一个用递归函数画图的题,稍微有点难度
题意的话就是用X去画图,当n为一,是一个X,n为2是以n=1时候的图形为基准,变成

X XX
X X

n为2时,是用n=2时候的图形为基准,变成

X X   X XX     X
X X   X XX XXX X
X X   X XX     X
X X   X X

依次类推
然后我们可以定义一个二维的char数组,刚开始的时候都赋值成空格,使用memset函数进行赋值

memset(ml, ' ', sizeof ml);

从(1,1)开始进行递归,每次的基准图形都是有五个位置需要绘制的,所以对五个位置进行递归,具体的位置就是和三这个数字有关,是三的某次方,具体可看代码实现

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;const int N = 1010;
char ml[N][N];void pp(int x, int y, int n) {int cnt;cnt = pow(3.0, n - 2);if (n == 1) {ml[x][y] = 'X';return;}//有五个位置需要递归pp(x, y, n - 1);pp(x, y + cnt * 2, n - 1);pp(x + cnt, y + cnt, n - 1);pp(x + cnt * 2, y, n - 1);pp(x + cnt * 2, y + cnt * 2, n - 1);
}int main() {int n;while (cin >> n && n != -1) {memset(ml, ' ', sizeof ml);//pow(x,y)头文件math.h中的函数,求x的y次方int cnt = pow(3.0, n - 1);pp(1, 1, n);for (int i = 1; i <= cnt; i++) {for (int j = 1; j <= cnt; j++) {cout << ml[i][j];}cout << endl;if (i == cnt)cout << '-' << endl;}}return 0;
}

有不懂的欢迎讨论和提问

hut第三次面试题解相关推荐

  1. 2020西安邮电大学ThoughtWorks®联合创新实验室面试题解

    2020西安邮电大学ThoughtWorks®联合创新实验室面试题解 题目 1.年轻人我劝你耗子尾汁 2.学生分组问题 3.青蛙过河 4.熊熊的困惑 5.素数和 6.自然之美 7.海涛数对 8.那就是 ...

  2. 【进阶2-3期】JavaScript深入之闭包面试题解

    (关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue.React.Node源码和实战.面试指导) 本周正式开始前端进阶的第二期,本周的主题是作用域闭包,今天是第8天. 本计划一共28期,每 ...

  3. 三分钟计算机自我介绍面试,三分钟面试自我介绍【三篇】

    [导语]自我介绍是向别人展示你自己的一个重要手段,自我介绍好不好,甚至直接关系到你给别人的第一印象的好坏及以后交往的顺利与否.同时,也是认识自我的手段.以下是无忧考网整理的三分钟面试自我介绍,欢迎阅读 ...

  4. 程序员阿里三次面试已过却无理由挂了,网友:阿里HR有一票否决

    进入互联网大厂一般都是"过五关斩六将",难度堪比西天取经,但当你真正面对这些大厂的面试时,有时候又会被其中的神操作弄的很是蒙圈. 近日,某位程序员发帖称,自己去阿里面试,三面都过了 ...

  5. 程序员面试快手后感慨:你们经历过绝望吗?三个面试官都是清华的

    一名程序员在面试完快手后如此感叹:快手的要求确实高,比阿里难进100倍,三个面试官都是清华的,全是问的acm和算法题. 所谓同行相轻,马上又网友评论:题刷得好不代表解决问题能力强,面试一般考一两个考察 ...

  6. 阿里三次面试经验和总结,希望对你有帮助!

    点击上方"程序IT圈",选择"置顶公众号" 工作日早晨8点50分,准点开车打卡 大纲: 一.投递简历 二.准备面试 三.技术一面 四.健身房里的技术二面 五.产 ...

  7. 求职信分三步 面试结束后别忘写一封感谢信

    求职信分三步 面试结束后别忘写一封感谢信 如果把得到面试机会比作求职成功的第一步,那么写好求职信则是和招聘单位双方沟通的第一道桥梁.万宝盛华的HR告诉求职者,一封求职信的好与坏绝对影响您能否得到面试的 ...

  8. 985Java程序员的三次面试总结,京东,华为,去哪儿 , 已拿offer

    京东 商城平台中间件部门(offer) 一面 自我介绍 项目介绍 (我对于项目说的比较细,项目简介.用到的技术.总体框架.个人贡献,着重讲了项目中遇到的问题,我这里说的是并***形下的性能和数据精确性 ...

  9. 软件测试工程师三次面试失败的血泪教训!!!

    把时间用在进步上,而不是抱怨上;其实很多时候,你并不需要做什么,真诚即可. 最近三次面试的经验总结: 1.开始介绍一下你自己 您好,我叫xxx,xx年xxxx学院xxxx专业毕业,毕业至今在xx的软件 ...

最新文章

  1. CVPR2020论文解读:CNN合成的图片鉴别
  2. 一口气发布1008种机器翻译模型,GitHub最火NLP项目大更新
  3. Failed to load resource: net::ERR_INSECURE_RESPONSE 问题解决记录
  4. java stream流_Java-8-流(1)
  5. 2021 ccpc 哈尔滨 G. Damaged Bicycle 状压 + 期望dp
  6. 【转】Docker学习_本地/容器文件互传(5)
  7. 为什么你成长这么慢?
  8. 火星上网不是梦,国际空间站开测星际互联网DTN服务
  9. JavaWeb项目--【在线音乐播放器】onlineMusicPlayer
  10. 微信朋友验证消息是什么来源_微信好友来源朋友验证消息
  11. 制作外挂需要多高的编程技术?
  12. 数据结构系列之三红黑树
  13. 微信小程序通过”链接/文字/数字等等“生成二维码
  14. ADS3 Inverted File Index
  15. HBuilderX快速上手
  16. java中cbrt_Java Math类静态double cbrt(double d)示例
  17. 前端技术基础--笔记
  18. iOS11界面交互设计规范(iOS 11 Human Interface Guidelines)
  19. 【数据结构篇03】栈和队列
  20. 将小写人民币转换成大写

热门文章

  1. 仙界修仙 - 最新章节列表
  2. Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮。
  3. 【华为机试真题详解】货币单位换算【2022 Q4 | 100分】
  4. Spring Coud 2.0 Client 使用 https 注册到 eureka server 中 (二)
  5. Vue 项目优化图片
  6. indexOf()方法
  7. python time timeit_Python timeit模块
  8. 追妹神器,恋爱神器,哄老婆开心,智能机器人每天给你心爱的TA发送早晚安问候
  9. 日本展示机器人Erica,看脸还不错
  10. MEET2022智能未来大会:李开复张亚勤上演巅峰对话