2020西安邮电大学ThoughtWorks®联合创新实验室面试题解
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®联合创新实验室面试题解相关推荐
- 西安邮电大学ThoughtWorks®联合创新实验室第一次组内排位赛题解
目录 A-HDU 2097 B-HDU 2098 C-HDU 6702 D-计蒜客 30990 E-HDU 2040 F-HDU 1846 G-HDU 2084 H-CodeForces 1430A ...
- 西安邮电大学计算机学院研究生分数,2020西安邮电大学考研复试分数线已公布...
院校考研复试分数线是判别该考生能否进入院校重要评判标准,了解分数线是考研过程中的第一步,以便于给自己制定一个要求.点击查看-2020西安邮电大学考研复试分数线~~ 西安邮电大学2020年硕士研究生招生 ...
- 西安邮电大学计算机学院转专业面试,2020年西安邮电大学转专业,大一新生转专业和入学考试...
西安邮电大学转专业政策还没有出来,下面为大家介绍大学转专业的相关政策,以便参考. 第一种方法: 就是要求班级学习成绩前3-5名的允许转.个人申请---学院同意并推荐---拟转入专业的学院审核(个别的要 ...
- 2020西安邮电大学linux兴趣小组面试题
1.运行下面代码段 #include<stdio.h> int i; int main(){i--;if(i>sizeof(i)){printf(">\n" ...
- 2020西安邮电大学linux兴趣小组补录
1. #include <string.h> int main(void) { char *str = "linux"; str[0] = "L"; ...
- 西安邮电大学【活动】
西安邮电大学[活动] 前言 版权 推荐 西安邮电大学[活动] 录取通知书 历史 西北邮电学校.西安邮电学校时期 西安邮政学校时期 西安邮电学院时期 西安邮电大学时期 后面的反展 学科优势 信息与通信工 ...
- 电子商务案例分析php,2020知到《西安邮电大学网课电子商务案例分析》单元测试答案2020高校邦《ThinkPHP框架技术》答案免费...
2020知到<西安邮电大学网课电子商务案例分析>单元测试答案2020高校邦<ThinkPHP框架技术>答案免费 更多相关问题 [判断题] 动物性原料最适宜剞蓑衣花刀. [问答题 ...
- 智能车竞赛技术报告 | 智能车视觉 - 西安邮电大学 - AI小布丁
学 校:西安邮电大学 队伍名称:AI小布丁 参赛队员:张展鹏 徐军其 杜博林 带队教师:亢红波 蔡秀梅 第一章 引言 全国大学生智能车竞赛是从 2 ...
- 西安邮电大学计算机学院学生会,2017年度计算机学院教职工代表大会工作报告.doc...
PAGE \* MERGEFORMAT 5 1 凝心聚力,开拓创新, 以主人翁的工作态度共谋计算机学院新发展 2017/2018学年计算机学院教代会学院工作报告 王忠民 各位代表:大家下午好! 今天, ...
最新文章
- Windows下MySQL安装
- CSU OJ1960
- JSF优点(转载自中国IT实验室)
- 【用学校抄作业带你走进可持久化线段树(主席树)】可持久化线段树概念+全套模板+例题入门:[福利]可持久化线段树)
- 阿里云助力浙江大学信息化建设,以实时数据驱动校园智能管理
- 服务器防火墙,linux下iptables防火墙配置相关
- java 字体有哪些_java字体有哪些
- wrapper php,PHP流Streams、包装器wrapper概念与用法实例详解
- cisco2811 pppoe上网配置供参考
- STM32串口通信 中断配置
- 省市区json最新数据
- 【rviz_plugin Goal3DTools 深蓝路径规划 PluginlibFactory】
- cityengine笔记
- 写代码python用什么笔记本好_求推荐适合程序员用的笔记本电脑
- unity剩余高度自适应实现办法
- 牛批了,python也能做思维导图
- ESXi 6.7.0含RTL8168驱动安装包(亲测可用)
- 一般怎样恢复u盘丢失的文件
- C#里封装 继承 多态(包教包会)
- 自动延时关机电路分析
热门文章
- 【LeetCode·位运算.67】二进制求和,详解分析+两种思路+知识点总结
- 【文献阅读】Age Progress/Regression by Conditional Adversarial Autoencoder 基于条件对抗自编码器(CAAE)的老化/去龄化方案
- Ubuntu乱码显示为菱形
- 河南工学院计算机应用基础答案,历年自考《计算机应用基础》精选习题六
- 影视剧解说原声不好听,有什么配音软件?
- 葛连吉教你centos7怎么查看ip地址
- matlab无人机自组网,自组网(无人机FANET)简单介绍
- 2022年7月1日-7月5日linux基本语句
- 微信授权代码翻译样本
- 《笑傲江湖》VR电影版要来了