机试刷题
m0_46634282
这个作者很懒,什么都没留下…
展开
-
KY87 鸡兔同笼-贪心
描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。输入描述:每组测试数据占1行,每行一个正整数a (a < 32768)输出描述:输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开 如果没有满足要求的答案,则输出两个0。直接做#include<bits/stdc++.h>using namespace std;i原创 2022-02-09 16:15:37 · 148 阅读 · 0 评论 -
KY56 数制转换
描述求任意两个不同进制非负整数的转换(2进制~16进制),所给整数在long所能表达的范围之内。 不同进制的表示符号为(0,1,…,9,a,b,…,f)或者(0,1,…,9,A,B,…,F)。输入描述:输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。a,b是十进制整数,2 =< a,b <= 16。 数据可能存在包含前导零的情况。输出描述:可能有多组测试数据,对于每组数据,输出包含一行,该行有一个整数为转换后的原创 2022-02-06 15:49:15 · 130 阅读 · 0 评论 -
16进制转10进制
描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串(注意可能存在的一个测试用例里的多组数据)。输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串#include<bits/stdc++.h>using namespace std;typedef long long LL;int char2int(char c) { if (c >= '0' && c <= '9') { retu原创 2022-02-06 15:42:10 · 372 阅读 · 0 评论 -
KY135 又一版 A+B
描述输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数。输入描述:输入格式:测试输入包含若干测试用例。每个测试用例占一行,给出m和A,B的值。 当m为0时输入结束。输出描述:输出格式:每个测试用例的输出占一行,输出A+B的m进制数#include<bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL m,原创 2022-02-06 15:34:09 · 93 阅读 · 0 评论 -
KY230 八进制
描述输入一个整数,将其转换成八进制数输出。输入描述:输入包括一个整数N(0<=N<=100000)。输出描述:可能有多组测试数据,对于每组数据, 输出N的八进制表示数。#include<bits/stdc++.h>using namespace std;int main(){ int n; while (cin >> n) { vector<int>v; while (n) {原创 2022-02-06 15:26:55 · 200 阅读 · 0 评论 -
KY235 进制转换2
描述将M进制的数X转换为N进制的数输出。输入描述:输入的第一行包括两个整数:M和N(2<=M,N<=36)。下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。输出描述:输出X的N进制表示的数。思路:通过10进制中转,36即10+26先转为10进制,再由10进制转为n进制#include<bits/stdc++.h>using namespace std;typedef long long LL;char int2char(i原创 2022-02-06 15:20:38 · 568 阅读 · 0 评论 -
KY30 进制转换
描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述:多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述:每行输出对应的二进制数。输入:0138复制输出:01111000#include<iostream>#include<vector>#include<string>#include<algorithm>using n原创 2022-02-06 14:59:22 · 82 阅读 · 0 评论 -
KY187 二进制数
描述大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。输入描述:多行,每一行表示要求的数字输出描述:输出共T行。每行输出求得的二进制串。输入:23535262456275989835输出:1011110000101111010010000001101101111010原创 2022-02-05 21:59:13 · 131 阅读 · 0 评论 -
KY228 找位置
描述对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。输入描述:输入包括一个由字母和数字组成的字符串,其长度不超过100。输出描述:可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。 1、下标从0开始。 2、相同的字母在一行表示出其出现过的位置。输入:abcaaAB12ab12输出:a:0,a:3,a:4,a:9b:1,b:101:原创 2022-02-05 21:47:18 · 87 阅读 · 0 评论 -
KY54 打印极值点下标
描述在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数, 或者小于所有它相邻的整数,则称该整数为一个极值点,极值点的下标就是i。输入描述:每个案例第一行为此数组元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔输出描述:每个案例输出为n个数字(其中n为该案例中极值点的个数):每个数字对应相应数组的相应极值点下标值,下标值之间用空格分隔。输入:1010 12 12 11 11 12 23 24 12 121512 12 122 112 222 211 22原创 2022-02-05 21:28:40 · 495 阅读 · 0 评论 -
KY198 找最小数
描述第一行输入一个数n,1 <= n <= 1000,下面输入n行数据,每一行有两个数,分别是x y。输出一组x y,该组数据是所有数据中x最小,且在x相等的情况下y最小的。输入描述:输入有多组数据。 每组输入n,然后输入n个整数对。输出描述:输出最小的整数对。#include<bits/stdc++.h>using namespace std;const int N=1210;struct pp{ int x,y;}q[N];bool cmp(pp原创 2022-02-05 21:07:17 · 152 阅读 · 0 评论 -
KY199 查找-简单二分
描述输入数组长度 n 输入数组 a[1…n] 输入查找个数m 输入查找数字b[1…m] 输出 YES or NO 查找有则YES 否则NO 。输入描述:输入有多组数据。 每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m,n<=100)。输出描述:如果在n个数组中输出YES否则输出NO。#include<bits/stdc++.h>using namespace std;const int N=210;int q[N];int原创 2022-02-05 21:00:51 · 134 阅读 · 0 评论 -
KY117 奥运排序问题
描述按要求,给国家进行排名。输入描述:有多组数据。 第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。 第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。 接下来一行给出M个国家号。输出描述:排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 对每个国家给出最佳排名排名方式 和 最终排名 格式为: 排名:排名方式 如果有相同的最终排名,则输出排名方式最小的那种排名,对于排名方式,金牌总数 < 奖牌总数 < 金牌人口比例 < 奖牌人口比例原创 2022-02-05 20:48:22 · 82 阅读 · 0 评论 -
小白鼠排队
描述N只小白鼠(1 <= N <= 100),每只鼠头上戴着一顶有颜色的帽子。现在称出每只白鼠的重量,要求按照白鼠重量从大到小的顺序输出它们头上帽子的颜色。帽子的颜色用“red”,“blue”等字符串来表示。不同的小白鼠可以戴相同颜色的帽子。白鼠的重量用整数表示。输入描述:多案例输入,每个案例的输入第一行为一个整数N,表示小白鼠的数目。 下面有N行,每行是一只白鼠的信息。第一个为不大于100的正整数,表示白鼠的重量,;第二个为字符串,表示白鼠的帽子颜色,字符串长度不超过10个字符。 注意:原创 2022-02-05 20:06:38 · 83 阅读 · 0 评论 -
整数奇偶排序
描述输入10个整数,彼此以空格分隔。重新排序以后输出(也按空格分隔),要求: 1.先输出其中的奇数,并按从大到小排列; 2.然后输出其中的偶数,并按从小到大排列。输入描述:任意排序的10个整数(0~100),彼此以空格分隔。输出描述:可能有多组测试数据,对于每组数据,按照要求排序后输出,由空格分隔。 1. 测试数据可能有很多组,请使用while(cin>>a[0]>>a[1]>>…>>a[9])类似的做法来实现; 2. 输入数据随机,有可能相等。输原创 2022-02-05 20:01:12 · 77 阅读 · 0 评论 -
特殊排序-牛客
描述输入一系列整数,将其中最大的数挑出(如果有多个,则挑出一个即可),并将剩下的数进行排序,如果无剩余的数,则输出-1。输入描述:输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。 接下来的一行有N个整数。输出描述:可能有多组测试数据,对于每组数据, 第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。 第二行将排序的结果输出。#include<bits/stdc++.h>using namespace std;co原创 2022-02-05 19:55:34 · 74 阅读 · 0 评论 -
成绩排序-牛客
描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。示例:jack 70peter 96Tom 70smith 67从高到低 成绩peter 96jack 70Tom 70smith 67从低到高smith 67jack 70Tom 70peter 96输入描述:注意一个case里面有原创 2022-02-05 17:25:21 · 63 阅读 · 0 评论 -
计算表达式
描述对于一个不存在括号的表达式进行计算输入描述:存在多种数据,每组数据一行,表达式不存在空格输出描述:输出结果输入:6/2+3+3*4输出:18#include<bits/stdc++.h>using namespace std;map<char,int>priority;stack<char>op;stack<double>num;void eval(){ char c=op.top();op.pop();原创 2022-02-05 16:55:30 · 46 阅读 · 0 评论 -
堆栈的使用
描述堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。输入描述:对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是’P’或者’O’或者’A’;如果是’P’,后面还会跟着一个整数,表示把这个数据压入堆栈;如果是’O’,表示将栈顶的值 pop 出来,如果堆栈中没有元素时,忽略本次操作;如果是’A’,表示询问当前原创 2022-02-05 16:44:33 · 590 阅读 · 0 评论 -
简单计算器
描述读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入描述:测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出描述:对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。输入:1 + 24 + 2 * 5 - 7 / 110输出:3.0013.36思路:模拟栈注意:double类型#include<iostream&g原创 2022-02-05 16:34:12 · 286 阅读 · 0 评论 -
等价表达式
等价表达式输入格式输入文件的第一行给出的是题干中的表达式。第二行是一个整数 n,表示选项的个数。后面 n 行,每行包括一个选项中的表达式,这 n 个选项的标号分别是 A,B,C,D……输入中的表达式的长度都不超过 50 个字符,而且保证选项中总有表达式和题干中的表达式是等价的。输出格式输出文件包括一行,这一行包括一系列选项的标号,表示哪些选项是和题干中的表达式等价的。选项的标号按照字母顺序排列,而且之间没有空格。数据范围2≤n≤26输入:( a + 1) ^23(a-1)^2+4原创 2022-02-05 16:00:53 · 229 阅读 · 0 评论