Problem 1

题目: 类似超市结账,计算购买的商品的总价格。
输入:
第一行为测试数据组数T(0< T <= 10)
每组数据第一行为购买商品的种类n,接下来n行,每行两个数据,第一个为商品价格,第二个为商品数量,价格为实型。

输出:
每一行输出相对应数据的总价值,保留两位小数。

测试数据:
2
2
1.00  2
0.50  2
1
100.0 1
输出:
3.00
100.00

emmm,感觉这个基本算是送分题,简单的话直接跟我一样,直接double就好,输出的时候注意下格式就行用%.2f来输出

#include<stdio.h>
int main(){int T;scanf("%d",&T);while(T--){double ans=0;int n;scanf("%d",&n);for(int i=0;i<n;i++){double a;int b;scanf("%lf%d",&a,&b);ans+=a*b;}printf("%.2lf\n",ans);}return 0;
}

Problem 2

题目:V字型数列,当且仅当三元组i
输入:
第一行为测试数据组数T
每组数据第一行为该数组的数字个数
接下来一行为数组元素

输出
输出对应数组中符合v字形数列的个数

测试数据:
2
3
2 1 2
5
2 1 2 1 2
输出:
1
4

这个一开始写的发现有点小问题,忘了跳出循环了,加了个continue就好了。

#include<stdio.h>
int main(){int T;scanf("%d",&T);while(T--){int buf[100];int n;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&buf[i]);int num=0;for(int i=0;i<n;i++){if(i==n-1)continue;for(int j=i+1;j<n;j++){if(j==n-1)continue;for(int k=j+1;k<n;k++){if(buf[i]>buf[j]&&buf[k]>buf[j])num++;}}}printf("%d\n",num);}return 0;
}

Problem 3

题目:简单的24点
输入为4个数字,a,b,c,d。若abcd=24,则称该数组满足24点,其中可以为+、-、*、/任一个,若不能得到结果24,则称该数组不满足24点。(计算为实型)

输入
第一行为测试组数t
接下来t行,每一行为四个整数a,b,c,d,测试是否满足24点
1<=a,b,c,d<10000(右区间忘了,反正四个数不为0)

输出
在每一行
若满足,输出YES
不满足,输出NO

这个题没有测试用例,我就自己写了几个。。

测试数据:
6
2 10 2 10
1 2 3 4
2 2 2 3
40 2 2 2
1 3 5 7
1 1 1 1
输出:
YES
YES
YES
YES
NO
NO

这道题有点难。。。写了三遍,换了两个方法,第一次直接跑超时了。。第二次想按照简单计算器来写,不过写了一会感觉有点偏题了,后来参考了学长大佬的写法,大佬原版地址的放到下面。。
[https://blog.csdn.net/xiaqinnnn/article/details/79809427]

#include<stdio.h>
int yxj(int i){return i>2?1:0;
}
int cp(float a,float b,int i){switch(i){case 1:return a+b;case 2:return a-b;case 3:return a*b;case 4:return a/b;}
}
int main(){int T;scanf("%d",&T);while(T--){float a,b,c,d;scanf("%f%f%f%f",&a,&b,&c,&d);int flag=0;for(int i=1;i<5;i++){if(flag==1)break;for(int j=1;j<5;j++){if(flag==1)break;for(int k=1;k<5;k++){int x=yxj(i);int y=yxj(j);int z=yxj(k);int ans;if(x==y&&y>z||y==z&&x>y||x==y&&y==z){float ans1=cp(a,b,i);float ans2=cp(ans1,c,j);ans=cp(ans2,d,k);}//110 100 111 000else if(x==y&&z>y||x==z&&x>y){float ans1=cp(c,d,k);float ans2=cp(a,b,i);ans=cp(ans1,ans2,j);}//001 101else if(x==z&&x<y){float ans1=cp(b,c,j);float ans2=cp(a,ans1,i);ans=cp(ans2,d,k);}//010else if(y==z&&x<y){float ans1=cp(b,c,j);float ans2=cp(ans1,d,k);ans=cp(a,ans2,i);}//011if(ans==24){printf("YES\n");flag=1;break;}}}}if(flag==0)printf("NO\n");}return 0;
}

Problem 4

对于每一个零件都有一个适宜温度区间,[Ri,Ji],当温度t<Ri,零件价值为x,当t>Ji,零件价值为z;当温度适宜,价值为y。且y>x,y>z。此刻,有一恒温箱,可确定温度t。

输入

第一行按顺序分别为 n,x,y,z。0<n<20000

接下来n行为 每一个零件的适宜温度区间0<Ri<Ji<109

输出

确定一个温度值t,在这温度下所有零件的总价值最大,并输出该价值

测试数据
3 1 3 2
1 4
2 5
7 10
输出
7

这道题感觉比上一道要简单一些,直接第一层把温度循环,第二层依次尝试加所有的单个价值,遍历得出最大价值

#include<stdio.h>
struct yuanjian{int l;int h;
}yj[100];
int main(){int n,x,y,z;scanf("%d%d%d%d",&n,&x,&y,&z);int mt=0;for(int i=0;i<n;i++){scanf("%d%d",&yj[i].l,&yj[i].h);if(mt<yj[i].h)mt=yj[i].h;}int max=0;for(int i=0;i<=mt;i++){int flag=0;for(int j=0;j<n;j++){if(i<yj[j].l){flag+=x;}else if(i>yj[i].h){flag+=z;}elseflag+=y;}if(max<flag)max=flag;}printf("%d\n",max);return 0;
}

上面的代码除了24点应该没a出来,其他我自己算了下应该是规定时间内a出来了。。。摸了摸头顶,发量又变的稀疏了些,上面毕竟我没有北邮环境去跑,所以上面的代码仅限于给出的用例可以跑通,其他的就不是很清楚了,有错误的话大佬请指正,菜鸡一枚,当个笔记本用了。。。

2018北邮网研机试真题(大佬们的回忆版)相关推荐

  1. 2018北邮网研机试

    注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC. 点击链接查看历年机试题目汇总. A商品总价格 题目描述 类似超市结账,计算购买的商品的总价格. 输入: 第一行为 ...

  2. 2018北邮网研机试-A

    Problem A 类似超市结账,计算购买的商品的总价格. 输入: 第一行为测试数据组数T(0<T<=10) 每组数据第一行为购买商品的种类n,接下来n行,每行两个数据,第一个为商品价格, ...

  3. 2018北邮网研机试-D 的更好解法

    https://blog.csdn.net/birdreamer/article/details/79749068 上面是原题超链: 原博D题的做法有点太浪费空间 #include <iostr ...

  4. 2018北邮网研机试-C

    C简单的24点 输入为4个数字,a,b,c,d.若a^b^c^d=24,则称该数组满足24点,其中^可以为+.-.*./任一个,若不能得到结果24,则称该数组不满足24点.(计算为实型) 输入: 第一 ...

  5. 2018北邮网研机试-D

    D 最大价值 对于每一个零件都有一个适宜温度区间,[Ri,Ji],当温度t<Ri,零件价值为x,当t>Ji,零件价值为z:当温度适宜,价值为y.且y>x,y>z.此刻,有一恒温 ...

  6. 2018北邮网研机试-B

    ProblemB V字型数列,当且仅当三元组i<j<k,且 a[i]>a[j]并且a[k]>a[j],算作一个V型数列. 输入 第一行为测试数据组数T 每组数据第一行为该数组的 ...

  7. 2019北邮计算机院机试真题

    目录 19计算机院机试真题 Problem A 二进制 Problem B 二叉树 Problem C 最短路径 Problem D 方块阵 19计算机院机试真题 计算机院的机试题真难,没有4A的,第 ...

  8. 2013北邮网研机试

    注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC. 点击链接查看历年机试题目汇总. A最值问题 题目描述 给出N个数,求出这N个数中最大值和次大值.注意这里的次大值 ...

  9. 2019北邮网研机试

    注意:所有代码均是根据题目描述进行了本地测试,没有在北邮oj上测试,不保证一定能AC. 点击链接查看历年机试题目汇总. A牙膏问题 题目描述 4只牙膏比较价格,返回最便宜的牙膏. 输入: 第一行输入T ...

最新文章

  1. Objective-C中把URL请求的参数转换为字典
  2. springboot项目集成docker
  3. 机器学习——支持向量机SVM之非线性模型(原问题转化为对偶问题)
  4. 优先队列priority_queue自定义比较函数
  5. batchnomal_反向传播之七:BatchNormal层的反向传播
  6. Datalist嵌套以及属性生成器和页面样式
  7. 源码学习-String类
  8. 解决中64位Win7系统上PLSQL无法连接ORACLE的方法(PLSQL无法识别ORACLE_HOME的配置)
  9. 城市轨道交通乘客信息系统的功能介绍
  10. oracle学习笔记 后记
  11. easyUi combobox setValue 引起的关于js的坑
  12. C/C++线程与多线程工作笔记002---C++中的LPVOID类型
  13. Xenu工具的简单使用
  14. windows 如何快速锁定计算机,Win7电脑锁定计算机快捷键的方法
  15. 9.2. switchport trunk encapsulation dot1q 提示 invaild input at^marker.
  16. 曲奇的ndnSIM API教程翻译 命名数据网络 NDN ndn simulator
  17. 道路匹配MapMatching:GPS轨迹点常用聚类算法介绍(K-Means聚类、蚁群算法等)
  18. 什么叫句柄(Handle)?
  19. 基于PTGui和Ps 有手和低端手机就能拼接生成一张酷酷VR720°商用全景图
  20. TCP协议三次握手与三次挥手

热门文章

  1. Excel如何将一列多行数据转为多列多行显示
  2. 能够关闭并退出计算机程序的是,Mac如何强制退出程序的方法
  3. 说出你常用的20个linux命令,你还是只会说ls、cat那20个命令吗?3分钟让你发现新大陆
  4. 【源码】斯特林Stirling循环的温度熵图
  5. 建立基于Open vSwitch的GRE隧道
  6. Mac(Catalina)上的AI换脸,手把手教小白使用DeepFaceLab
  7. 用C++实现的一道面试大题-猫狗大战
  8. 最新cocoapods安装流程,安装过程中遇到的问题及解决方法
  9. 解决问题思维导图模板分享
  10. 怎么更改wifi频段_【wifi信号频率】wifi频率怎么设置 wifi2.4g和5g哪个更好