(一)N-送分题


题目描述

数据结构之神ccz又在出毒瘤数据结构了,神出了这样一个题:

给你三个数,在这三个数中间任意加*或者是+,然后可以随便打括号,只要这个表达式合法

比如说1 2 3可以得到:

  • 1+2*3=7
  • 1*(2+3)=5
  • 1*2*3=6
  • (1+2)*3=9

不能改变这三个数的原顺序

最大化表达式的值

输入描述:

输入三行,每行一个数分别表示a,b,c

输出描述:

输出一行一个数表示答案

输入示例:

1
2
3

输出示例:

9

输入示例:

2
10
3

输出示例:

60

思路:分成三种情况。

第一种:三个数没有1,两两相乘最大;

第二种:只有一个1,则比较(1+其中一个数)*剩下的那个数,取两种情况下最大的;

第三种:第一个数和最后一个数都为1,三个数相加的情况最大。

代码:

#include<stdio.h>
int max(int a,int b){int c=a;if (b>a){c=b;}return c;
}
int main(){int a,b,c,sum;scanf("%d\n%d\n%d",&a,&b,&c);if (a==1&&c==1){sum=a+b+c;}else if(a==1||b==1||c==1){sum=max((a+b)*c,a*(b+c));}else{sum=a*b*c;}printf("%d",sum);return 0;
}

(二)U-可编程拖拉机比赛


题目描述

“这个比赛,归根结底就是控制一个虚拟的小拖拉机跑完整个赛道。一般一场比赛会有 9 个到 13 个赛道,最后看能跑完多少个赛道。”
通常在一场可编程拖拉机比赛中,分别会有实际参赛队伍数 10%、20%、30% 向下取整的队伍获得金、银、铜牌,其余队伍获得荣誉提名,俗称“铁牌”。
但是主办方往往会多准备一些奖牌,那么在发奖牌的时候会按照比例向上取整发出的奖牌以减少浪费,就会有一些原本获得银牌的队伍获得了金牌。
现在给出一个赛区的规模,也就是这个赛区的实际参赛队伍数,小 Q 同学想知道有多少队伍的奖牌会由银变金、由铜变银、由铁变铜。

输入描述:

输入只有一行,包含一个整数 n (10 <= n <= 1000),表示实际参赛队伍数。

输出描述:

输出一行,包含三个由空格分隔的整数,分别表示奖牌会由银变金、由铜变银、由铁变铜的队伍数。

输入实例:

115

输出实例:

1 1 2

代码:

#include<stdio.h>
#include<math.h>//向上取整的自定义函数
int Xiang(int a,int b){int c=a%b;if ( c==0 )c=a/b;elsec=a/b+1;return c;
}int main(){int n;scanf("%d",&n);//选定的金牌银牌铜牌数int gold,silver,bronze;gold=n/10;silver=n*2/10;bronze=n*3/10;//主办方颁发的奖牌数int Gold,Silver,Bronze;Gold=Xiang(n,10);Silver=Xiang(n,5);Bronze=Xiang(3*n,10);//升级奖牌数量统计int ytg=Gold-gold;   //银牌变金牌int tty=Silver-silver+ytg; //铜牌变银牌;int ttt=Bronze-bronze+tty;    //铁牌变铜牌;printf("%d %d %d",ytg,tty,ttt);return 0;
}

(三)R-L1-2单位换算


题目描述

已知1英尺=12英寸,1英寸=2.54厘米,1厘米=10毫米。

现在给你一个英尺数,请你换算成毫米。

输入描述:

第一行给定一个正整数 N ( 0 ≤ N ≤ 100 ),单位是英尺。

输出描述:

在一行中输出一个数,代表换算后的结果,单位为毫米。

若结果不为整数,只保留一位小数,末尾不要有多余的零。

输入示例:

5

输出示例:

1524

代码:

#include<stdio.h>
#include<math.h>
int main(){int n;scanf("%d",&n);double m=n*12*25.4;    //注意m的类型不为整型int c=round(m);    //四舍五入if (c==m)    //若四舍五入后的整数等于m,说明为整数printf("%d",c);else    //若不等于,说明不为整数,需要保留一位小数printf("%.1f",m);return 0;
}

(四)K-统计数据正负个数


题目描述:

输入10个整数,分别统计输出正数、负数的个数。

输入描述:

输入10个整数(范围-231~231-1),用空格分隔。

输出描述:

两行,第一行正数个数,第二行负数个数,具体格式见样例。

输入示例:

-1 2 3 -6 7 8 -1 6 8 10

输出示例:

positive:7
negative:3

思路:最开始定义一个数组的时候忘记了给定大小,导致溢出。

最终代码:

#include<stdio.h>
int main(){int a[10]={};for (int i=0;i<9;i++){scanf("%d ",&a[i]);}scanf("%d",&a[9]);//统计过程int Pcount=0;int Ncount=0;for (int x=0;x<10;x++){if (a[x]<0)Ncount+=1;else if(a[x]>0)Pcount+=1;}printf("positive:%d\n",Pcount);printf("negative:%d",Ncount);return 0;
}

(五)CSimplemathproblem


题目描述

这一节课,Priest给大家做了一个小测试。
老师给了你两个正整数X, Y。并按照一下规则做运算,求出答案Z。
如果X是Y的因数,则Z等于X + Y。否则Z = Y - X。

输入描述:

输入两个正整数X, Y。  (1 <= X <= Y <= 100000000000000)。

输出描述:

输出你的答案Z。

输入示例:

4 12

输出示例:

16

输入示例:

7 100000000000

输出示例:

99999999993

思路:

int和long,long long的范围
int(9位数) long(9位数) long long(19位数)
MIN -2,147,483,648 -2,147,483,648 -9,223,372,036,854,775,808
MAX 2,147,483,647  2,147,483,647 9,223,372,036,854,775,807

代码:

#include<iostream>
using namespace std;
int main(){long long x,y;cin>>x>>y;if (y%x==0)cout<<(x+y);else cout<<(y-x);
}

(六)jyq跳格子


题目描述

担心大学生活过于苦闷,出题人决定带着大家一起玩起来!
当然,想要成为优秀的ccnuacmer,”简单”的脑力热身活动必不可少。
给出连续的n个格子,编号为1~n,游戏开始时,位于编号为1的格子上,每次可以任意选择跳两格或者跳四格。跳跃次数无限制。判断是否能够恰好到达终点。

输入描述:

一个正整数n,代表格子的数量1≤n≤10000001\le n \le 10000001≤n≤1000000

输出描述:

若可以恰好到达终点,输出n;否则输出-1;

示例1:

输入

5

输出

5

示例2

输入

6

输出

-1

思路:设置两个循环,当2格跳的次数分别为0,1,2...n/2+1的情况下,看看能不能和若干个4格把n拼凑出来。

代码:

#include<iostream>
using namespace std;
int main(){int n;cin>>n;int x=n/2+1;    //在下面的循环会用到int flag=0;     //设置flag//设置循环,找出可以用2和4乘出来的情况for (int i=0;i<=x;i++){  for (int j=0;j<=x;j++){if (i*2+j*4==n-1)flag=1;break;    //找到了,跳出循环}}if (flag==1)cout<<n; //可以被2和4组合出来else cout<<-1;    //不可以被2和4组合出来
}

(七)小名的回答


题目描述

总算到暑假了,小姐姐是非常的闲,所以想去找梅溪湖的小名玩,可是她从没去过梅溪湖,所以只能凭小名告诉她的地方走,每次只能向上下左右四个方向走1步。小姐姐的坐标为(0,0),小名在(a,b),小姐姐有点近视,小名也有点近视。所以到了(a,b)也不一定能和小名会面,不过还好,小姐姐最后找到了小名。小姐姐想要小名知道自己来一趟是多么不容易,所以在聊天的过程中小姐姐说自己为了到这里走了n步。小名,你觉得她说的可能是真话么。有可能就输出YES,否则输出NO(如果用random的话,小姐姐觉得你好像不在意她,明年暑假就不来了)

输入描述:

a,b,n(-1000<=a,b<=1000,a*b>0,1<=n<=2000)

输出描述:

"YES" or "NO"

输入示例:

2 2 4

输出示例

YES

输入示例:

1 9 2

输出示例

NO

思路:首先把所有情况映射为第一区间内,方便计算。再细分成三种情况:

第一种,当走的步数n小于路程总和时,肯定是达到不了的;

第二种,当走的步数n大于或等于路程总和时,则意味着走了不必要的路,可能是刚走完又走回去再回来,也可能是拐拐弯弯,反正走的不是最短路线就完事儿了。如果多走的那些路,是2的整数倍,则说明兜兜转转都能到;

第三种:前提跟第二种一样,如果多出来的路不能整除2,说明最后两步肯定是到不了的,肯定走歪了。

 代码:

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){int a,b,n;cin>>a>>b>>n;//把每种情况都映射为在第一区间内//即a和b都大于零,方便计算int sum=abs(a)+abs(b);if (sum>n)cout<<"NO";else if ((n-sum)%2==0)cout<<"YES";elsecout<<"NO";}

牛客刷题记录之语法入门选择结构篇相关推荐

  1. 牛客刷题记录之语法入门循环结构篇1.0

    (一)1001-双层金字塔 (二)1002-数字三角形 题目描述 打印数字三角形,从1开始输出,第i行输出i个数,每个数字按4个位置输出 注:c语言中 %4d可以输出一个数,占据四个位置,右对齐. 输 ...

  2. 【牛客刷题记录】2021-03-10

    牛客代码刷题记录1 问题一 给定一个数组序列, 需要求选出一个区间, 使得该区间是所有区间中经过如下计算的值最大的一个: 区间中的最小数 * 区间所有数的和最后程序输出经过计算后的最大值即可,不需要输 ...

  3. PYTHON 牛客刷题记录

    文章目录 一.牛客-简单类 1.HJ81 字符串字符匹配--SET使用 2.二维数组操作--map(),split()使用 3.HJ8 合并表记录--sorted().字典输出 4.HJ80 整型数组 ...

  4. 【Shell牛客刷题系列】SHELL5 打印空行的行号:一起学习grep命令搭配正则表达式的使用

    该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...

  5. 牛客刷题-Java面试题库【动态更新添加题目】(2023.06.19更新)

    讲在前面 ✨ 牛客刷题日记–理解为重中之重 刷题一方面是持续的了解到自己哪方面比较欠缺,另一方面也是从各大厂的面试题可以看出当前所需的技术栈的偏重点,持续的巩固基础和查漏补缺,一如代码深似海–学无止境 ...

  6. 【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)

    前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失. 个人刷题练习系列专栏:个人CSDN牛客刷题专栏. 题目来自:牛客/题库 / 在线编程 / 剑 ...

  7. 牛客刷题日记(2021-11-24)

    牛客刷题日记(2021-11-24) 题目: 下面程序的输出是:() String x="fmn"; x.toUpperCase(); String y=x.replace('f' ...

  8. 最长上升子序列(LIS),牛客刷题

    目录: 最长上升子序列(LIS) 1.模板(数据较小) 2.模板(数据较大) 牛客刷题 1. 牛客练习赛107A:如见青山 2.牛客小白月赛65A牛牛去购物 3.牛客小白月赛65B牛牛去购物 4.牛客 ...

  9. 牛客刷题日记(2021-12-8)

    牛客刷题日记(2021-12-8) 题目: 以下哪个接口的定义是正确的?( )interface B { void print() { } ;}interface B { static void pr ...

  10. 【字节面试题】牛客刷题偶遇字节后端笔试面经 撸它

    想要看更加舒服的排版.更加准时的推送 关注公众号"不太灵光的程序员" 每日八点有干货推送,微信随时解答你的疑问 牛客刷题偶遇 字节后端笔试0715 撸它 一共两道编程题. 1. 给 ...

最新文章

  1. webservice 接口练习
  2. B. The Cake Is a Lie
  3. cmd 日志刷新卡屏
  4. 【赠书活动】赠送清华社的《好好学Java:从零基础到项目实战》
  5. python commands执行不连续_[Python] 利用commands模块执行Linux shell命令
  6. 【2019杭电多校第一场1009=HDU6586】String(贪心+序列自动机)
  7. sqlplus连接mysql_sqlplus 命令连接数据库
  8. SuiteCRM 跨站脚本漏洞复现(CVE-2020-14208)
  9. matlab:圆形的图像识别(二)
  10. 将多张图片合并为一张图片
  11. 短信工具类 SmsUtil
  12. ospf(MGRE的星型结构和全连结构)
  13. CodeForces - 140C-New Year Snowmen
  14. 为什么街上发传单的人会认真发完,却不把传单丢了呢?
  15. 【小白米日志】树莓派3b+四位共阴数码管的连接和驱动
  16. 关于Dve C++——[Warning] pointer to a function used inarithmetic
  17. Web 图集应用,属于非游戏类的图集/雪碧图对象/JS雪碧图/前端图集/JS图集
  18. 线性颜色空间与伽马颜色空间
  19. 【转载】5年内从3500元到700万的过程,有爱情、有奋斗、有。。。泪水
  20. 路由环路的产生及解决

热门文章

  1. SpringCloud-服务网关
  2. Win10子系统错误——WslRegisterDistribution failed with error: 0x80070057
  3. linux子系统下载错误,Win10系统开启linux子系统报错“0x80070057”怎么办?
  4. 数据结构c语言版陈越,数据结构 陈越
  5. Modern CMake 简介
  6. 电脑一直跳出 不支持16位的应用程序该如何解决
  7. thinkpad选择启动项_联系ThinkPad笔记本怎么设置第一启动项
  8. [ROS Navigation Tuning Guide]翻译
  9. Linux命令暂停进程,shell脚本不暂停进程,暂停几秒执行下一条shell命令
  10. b站视频-尚硅谷jQuery教程张晓飞老师-笔记(二)