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

  • 题目
    • 1.年轻人我劝你耗子尾汁
    • 2.学生分组问题
    • 3.青蛙过河
    • 4.熊熊的困惑
    • 5.素数和
    • 6.自然之美
    • 7.海涛数对
    • 8.那就是一吧
  • 题解

题目

1.年轻人我劝你耗子尾汁

描述


众所周知,混元形意太极拳马掌门会闪电五连鞭。

其中马掌门每打一鞭需要T秒,每鞭会对对手的HP(生命值初始均为100)造成N点伤害并使对手Rage(怒气值)提高S,年轻人的Rage(怒气值)会随着时间推移而增长,每五秒Rage(怒气值)会增长R;

而且第五鞭会额外对对手造成50%的伤害。但由于69岁的老人,所以每打完一套闪电五连鞭就需要用混元功法回复K秒。

但由于年轻人不讲武德,所以当年轻人的Rage(怒气值)高于60时,可会直接去"偷袭"!,一拳就给马老师KO了。

现在熊熊学长希望你能写个程序告诉他最后是谁KO了谁。

输入


第一行输入一个整数M,表示有M个测试样例 接下来M行,每行有五个整数分别对应 着T,N,S,R,K

T (每打一鞭的时间)
N (每一鞭造成的伤害)
S (受到伤害后怒气值的增长量)
R (随时间怒气的增长量)
K (每打完一套马老回复需要的时间)

输出


请每行输出 “老没有输,马老赢了”或者“ 年轻人不讲武德,年轻人赢了

样例


输入

1
1 8 15 0.5 3

输出

年轻人不讲武德,年轻人赢

输入

2
1.0 17.0 5.0 0.5 2.0
2 10 8 2 1

输出

马老没有输,马老赢了
年轻人不讲武德,年轻人赢了

提示


马老师的绝技的伤害是瞬间打出来的!!!(只是收式要很久)

年轻人的怒气值一满便会直接进行反击!!!,这时他是无敌状态!!!

每五秒加的怒气应当是在第五秒时瞬间加上怒气

2.学生分组问题

描述


有三类人,a,b,c,现在要把这些人分成三个组,a和c类的不能在同一组,问分组后三组的最大组的人数规模最小的是多少。

输入


第一行包含一个整数t (1≤t≤5)=输入中的测试样例数 每个测试用例由一行组成,其中包含三个整数a,b和c (1≤a,b,c≤1000) = 分别为3个类别的人数

输出


对于每一个输入样例都有一个输出值,该值为分组后三组的最大组的人数的最小规模值。

样例


输入

5
3 5 7
4 8 4
13 10 13
1000 1000 1000
13 22 7

输出


5
6
13
1000
14

3.青蛙过河

描述


一只青蛙想要过河。 假定河流被等分为 x 个单元石,并且在每一个单元石内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。

给定石子的位置列表(用单元石序号升序表示), 请判定青蛙能否成功过河(即能否在最后一步跳至最后一个石子上)。 开始时, 青蛙默认已站在第一个石子上,并可以假定它第一步只能跳跃一个单位(即只能从单元石1跳至单元石2)。

如果青蛙上一步跳跃了 k 个单位,那么它接下来的跳跃距离只能选择为 k - 2、k 或 k + 2个单位。 另请注意,青蛙只能向前方(终点的方向)跳跃。

请注意:

石子的数量 ≥ 2 且 < 1100; 每一个石子的位置序号都是一个非负整数,且其 < 231; 第一个石子的位置永远是0。

输入


输入第一行为n个石子,第二行为每个石子的相对位置用空格间隔

输出


能跳至最后一个石子为true不能则为false

样例


输入

8
0 1 2 3 4 8 9 11

输出

false

输入

7
0 1 4 6 10 15 18

输出

true

4.熊熊的困惑

描述


熊熊和柴柴轮流从n堆中挑选糖果,挑选到最后一个糖果的玩家将赢得最后的胜利。每个回合他们可以从同一堆中挑选任意数量的糖果(不允许不摘糖果)。为了让游戏更有趣,玩家可以将一个堆分成三个较小的堆(没有空堆),而不是选择操作。请找出如果熊熊和柴柴都不出错的话,谁将赢得这场游戏。

输入


第一行输入一个整数T,表示有T个测试样例(1≤T≤100) 接下来输入T行的测试样例,每行都已整数n开头表示有n个堆,接下来输入n个整数s[0],s[1],…,s[n−1],表示每堆糖果的数量(1≤n≤106,1≤s[i]≤109)

输出


对于每一个测试用例,输出一行包括"First player wins.“或者"Second player wins.”

样例


输入

2
2
4 4
3
1 2 4

输出


Second player wins.
First player wins.

提示


Nim博弈,算是策论吧!!!

5.素数和

描述


请设计一个程序,计算出1到n之间的素数之和。

输入


输入一个整数n;

输出


输出1到n之间的素数之和;

样例


输入

10

输出

47

输入

100

输出

1060

输入

999

输出

76127

6.自然之美

描述


自然界中我们可以常见到一些像螺,蜗牛之类的生物,他们的壳都有一道非常优美的曲线——阿基米德螺线(r=aθ)。阿基米德螺线这这里我想让你帮我用程序写出N阶的型如阿基米德螺线的螺旋数组。例如3阶的螺旋数组为:

  • 1 2 3
  • 8 9 4
  • 7 6 5

输入


输入一个整数N,表示请你求出N阶的螺旋数组

输出


输出一个N*N的螺旋数组

样例


输入

5

输出


  1    2    3    4    516   17   18   19    615   24   25   20    714   23   22   21    813   12   11   10    9

输入

20

输出

1     2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   21
75  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160   95   22
74  143  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  161   96   23
73  142  203  256  257  258  259  260  261  262  263  264  265  266  267  268  219  162   97   24
72  141  202  255  300  301  302  303  304  305  306  307  308  309  310  269  220  163   98   25
71  140  201  254  299  336  337  338  339  340  341  342  343  344  311  270  221  164   99   26
70  139  200  253  298  335  364  365  366  367  368  369  370  345  312  271  222  165  100   27
69  138  199  252  297  334  363  384  385  386  387  388  371  346  313  272  223  166  101   28
68  137  198  251  296  333  362  383  396  397  398  389  372  347  314  273  224  167  102   29
67  136  197  250  295  332  361  382  395  400  399  390  373  348  315  274  225  168  103   30
66  135  196  249  294  331  360  381  394  393  392  391  374  349  316  275  226  169  104   31
65  134  195  248  293  330  359  380  379  378  377  376  375  350  317  276  227  170  105   32
64  133  194  247  292  329  358  357  356  355  354  353  352  351  318  277  228  171  106   33
63  132  193  246  291  328  327  326  325  324  323  322  321  320  319  278  229  172  107   34
62  131  192  245  290  289  288  287  286  285  284  283  282  281  280  279  230  173  108   35
61  130  191  244  243  242  241  240  239  238  237  236  235  234  233  232  231  174  109   36
60  129  190  189  188  187  186  185  184  183  182  181  180  179  178  177  176  175  110   37
59  128  127  126  125  124  123  122  121  120  119  118  117  116  115  114  113  112  111   38
58   57   56   55   54   53   52   51   50   49   48   47   46   45   44   43   42   41   40   39

7.海涛数对

描述


给出一个整数数组haitao[](都为整数),如果在该组数字中存在一对数字满足haitao[i]==haitao[j],并且i<j,就称改组数为海涛数对。 输出海涛数对的数目。

输入


第一行输入数组数据个数n 第二行输入数组数据

输出


输出海涛数对的数目

样例


输入

6
1 2 3 1 1 3

输出


4

输入


4
1 1 1 1

输出


6

提示


  • 数组数据个数上限为500
  • 例1中输出4原因为:

haitao[0]==haitao[3]且0<3>
haitao[0]==hiatao[4]且0<4>
haitao[2]==haitao[5]且2<5>
haitao[3]==haitao[4]且3<4>

共四组海涛数对

8.那就是一吧

描述


给定一个十进制整数N,求其对应2进制数中1的个数

输入


第一个整数表示有T组测试数据,其后T行是对应的测试数据,每行为一个整数N。(1<T<100,0<N<10^9)

输出


T行,每行输出对应一个输入。

样例


输入

4
2
100
1000
66

输出

1
3
6
2

提示


所有的N均大于0

题解

1.年轻人我劝你耗子尾汁

#include <stdio.h>
#include <stdlib.h>
int main(void)
{int m;scanf("%d", &m);double t[m], n[m], s[m], r[m], k[m];for (int i = 0; i < m; i++){scanf("%lf", &t[i]); //每打一鞭需要T秒scanf("%lf", &n[i]); //每鞭会对对手造成N点伤害scanf("%lf", &s[i]); //每鞭使对手Rage(怒气值)提高Sscanf("%lf", &r[i]); //每五秒Rage(怒气值)会增长Rscanf("%lf", &k[i]); //混元功法回复K秒。}for (int i = 0; i < m; i++){double times = 0.0;double time = 0.0;double hp = 100.0;double rage = 0.0;double time_2 = 0.0;for (; 1;){if (times < 5){hp -= n[i];times++;rage += s[i];time += t[i];}else if (times == 5){hp -= (1.5 * n[i]);rage += s[i];}else if (times >= 5){times -= 6;time += k[i];}/* hp判断 */while (time - time_2 >= 5){rage += r[i];time_2 += 5;}/* 怒气值判断 */if (rage >= 60){printf("年轻人不讲武德,年轻人赢了\n");break;}else if (hp <= 0 && rage < 60){printf("马老没有输,马老赢了\n");break;}}}return 0;
}

2.学生分组问题

#include <stdio.h>
int max(int A,int B,int C);
int main()
{int arr[100];int N;scanf("%d",&N);int i=0,a,b,c,t,A,B,C;for(t=0;t<N;t++){int pd=0;scanf("%d %d %d",&a,&b,&c);if(a<c){A=a;B=c/2;C=c-c/2;pd=1;for(;b>0;b--){if(A>B){if(B>C){C++;continue;}else{B++;continue;}}else{if(A>C){C++;continue;}else{A++;continue;}}}}if(pd){arr[i]=max(A,B,C);i++;pd=0;}if(a>=c){A=c;B=a/2;C=a-a/2;pd=1;for(;b>0;b--){if(A>B){if(B>C){C++;continue;}else{B++;continue;}}else{if(A>C){C++;continue;}else{A++;continue;}}}}if(pd){arr[i]=max(A,B,C);i++;pd=0;}    }for(int j=0;j<i;j++)printf("%d\n",arr[j]);return 0;
}int max(int A,int B,int C){int m;if(A>B){if(A>C)m=A;elsem=C;}else{if(B>C)m=B;elsem=C;}return m;
}

青蛙过河

#include <stdio.h>
#include <stdlib.h>
int main(void)
{int n = 0;scanf("%d", &n);int a[n];for (int i = 0; i < n; i++){scanf("%d", &a[i]);}int q = 1;for (int i = 0; i < n - 1; i++){if (a[1] - a[0] != 1){printf("false\n");return 0;}int w = a[i + 1] - a[i];if (w <= (q + 2) && w >= (q - 2)){q = w;}else{printf("false\n");return 0;}}printf("true\n");return 0;
}

4.熊熊的困惑

#include<stdio.h>
int main(void)
{int a,b[10],c[100],d,i,m[100],n;scanf("%d",&a);for(i=1;i<=a;i++){scanf("%d",&b[i]);for(n=1;n<=b[i];n++){scanf("%d",&m[n]);c[i]=c[i]+m[n];}}for(i=1;i<=a;i++){if(c[i]%2==0)printf("Second player wins.\n");elseprintf("First player wins.\n");}return 0;}

5.素数和

#include<stdio.h>
int main()
{int n=0,x=2;scanf("%d",&n);for(int i=2;i<=n;i++){for(int j=2;j<i;j++){if(i%j==0)break;if(j==i-1)x+=i;}}printf("%d",x);return 0;
}

6.自然之美

#include<stdio.h>
int main(void)
{int N,n,i,j,num=1;int a[100][100];scanf("%d",&N);for(n=1;n<=N;n++){for(i=n;i<=N-n+1;i++)a[n][i]=num++;for(j=n+1;j<=N-n+1;j++)a[j][i-1]=num++;for(i=N-n;i>=n;i--)a[j-1][i]=num++;for(j=N-n;j>=n+1;j--)a[j][i+1]=num++;}for (int i=1; i<=N; i++){for (int j=1; j<=N; j++){printf("%5d", a[i][j]);}printf("\n");}return 0;
}

7.海涛数对

#include<stdio.h>
int main()
{int i,j,a[500],n,t,sum=0;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<n;i++){for(j=n-1;i<j;j--){if(a[i]==a[j]){sum++;}elsecontinue;}}printf("%d",sum);return 0;
}

8.那就是1吧

#include <stdio.h>
int main(void)
{int n;scanf("%d", &n);int a[n];int t,h;for (int i = 0; i < n; i++){scanf("%d", &a[i]);}for (int i = 0; i < n; i++){t=0;while(a[i]>0){h=a[i]%2;a[i]/=2;if(h==1){t++;}}printf("%d\n", t);}return 0;
}

看完点赞加关注!(=3=)

2020西安邮电大学ThoughtWorks®联合创新实验室面试题解相关推荐

  1. 西安邮电大学ThoughtWorks®联合创新实验室第一次组内排位赛题解

    目录 A-HDU 2097 B-HDU 2098 C-HDU 6702 D-计蒜客 30990 E-HDU 2040 F-HDU 1846 G-HDU 2084 H-CodeForces 1430A ...

  2. 西安邮电大学计算机学院研究生分数,2020西安邮电大学考研复试分数线已公布...

    院校考研复试分数线是判别该考生能否进入院校重要评判标准,了解分数线是考研过程中的第一步,以便于给自己制定一个要求.点击查看-2020西安邮电大学考研复试分数线~~ 西安邮电大学2020年硕士研究生招生 ...

  3. 西安邮电大学计算机学院转专业面试,2020年西安邮电大学转专业,大一新生转专业和入学考试...

    西安邮电大学转专业政策还没有出来,下面为大家介绍大学转专业的相关政策,以便参考. 第一种方法: 就是要求班级学习成绩前3-5名的允许转.个人申请---学院同意并推荐---拟转入专业的学院审核(个别的要 ...

  4. 2020西安邮电大学linux兴趣小组面试题

    1.运行下面代码段 #include<stdio.h> int i; int main(){i--;if(i>sizeof(i)){printf(">\n" ...

  5. 2020西安邮电大学linux兴趣小组补录

    1. #include <string.h> int main(void) { char *str = "linux"; str[0] = "L"; ...

  6. 西安邮电大学【活动】

    西安邮电大学[活动] 前言 版权 推荐 西安邮电大学[活动] 录取通知书 历史 西北邮电学校.西安邮电学校时期 西安邮政学校时期 西安邮电学院时期 西安邮电大学时期 后面的反展 学科优势 信息与通信工 ...

  7. 电子商务案例分析php,2020知到《西安邮电大学网课电子商务案例分析》单元测试答案2020高校邦《ThinkPHP框架技术》答案免费...

    2020知到<西安邮电大学网课电子商务案例分析>单元测试答案2020高校邦<ThinkPHP框架技术>答案免费 更多相关问题 [判断题] 动物性原料最适宜剞蓑衣花刀. [问答题 ...

  8. 智能车竞赛技术报告 | 智能车视觉 - 西安邮电大学 - AI小布丁

    学 校:西安邮电大学     队伍名称:AI小布丁       参赛队员:张展鹏 徐军其 杜博林 带队教师:亢红波 蔡秀梅                第一章 引言   全国大学生智能车竞赛是从 2 ...

  9. 西安邮电大学计算机学院学生会,2017年度计算机学院教职工代表大会工作报告.doc...

    PAGE \* MERGEFORMAT 5 1 凝心聚力,开拓创新, 以主人翁的工作态度共谋计算机学院新发展 2017/2018学年计算机学院教代会学院工作报告 王忠民 各位代表:大家下午好! 今天, ...

最新文章

  1. Windows下MySQL安装
  2. CSU OJ1960
  3. JSF优点(转载自中国IT实验室)
  4. 【用学校抄作业带你走进可持久化线段树(主席树)】可持久化线段树概念+全套模板+例题入门:[福利]可持久化线段树)
  5. 阿里云助力浙江大学信息化建设,以实时数据驱动校园智能管理
  6. 服务器防火墙,linux下iptables防火墙配置相关
  7. java 字体有哪些_java字体有哪些
  8. wrapper php,PHP流Streams、包装器wrapper概念与用法实例详解
  9. cisco2811 pppoe上网配置供参考
  10. STM32串口通信 中断配置
  11. 省市区json最新数据
  12. 【rviz_plugin Goal3DTools 深蓝路径规划 PluginlibFactory】
  13. cityengine笔记
  14. 写代码python用什么笔记本好_求推荐适合程序员用的笔记本电脑
  15. unity剩余高度自适应实现办法
  16. 牛批了,python也能做思维导图
  17. ESXi 6.7.0含RTL8168驱动安装包(亲测可用)
  18. 一般怎样恢复u盘丢失的文件
  19. C#里封装 继承 多态(包教包会)
  20. 自动延时关机电路分析

热门文章

  1. 【LeetCode·位运算.67】二进制求和,详解分析+两种思路+知识点总结
  2. 【文献阅读】Age Progress/Regression by Conditional Adversarial Autoencoder 基于条件对抗自编码器(CAAE)的老化/去龄化方案
  3. Ubuntu乱码显示为菱形
  4. 河南工学院计算机应用基础答案,历年自考《计算机应用基础》精选习题六
  5. 影视剧解说原声不好听,有什么配音软件?
  6. 葛连吉教你centos7怎么查看ip地址
  7. matlab无人机自组网,自组网(无人机FANET)简单介绍
  8. 2022年7月1日-7月5日linux基本语句
  9. 微信授权代码翻译样本
  10. 《笑傲江湖》VR电影版要来了