ACM1:练兵场
屠变恶龙之人
这个作者很懒,什么都没留下…
展开
-
学生排队
问题描述 体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8; 1)第一次调整,命令为“3号同转载 2017-12-01 15:54:05 · 321 阅读 · 0 评论 -
AAADDCC编码3A2D2D
给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 int main() { char str[1000]; scanf("%s",str); int i=0, n; while(str[i]!='\0') {原创 2017-03-02 15:46:02 · 452 阅读 · 0 评论 -
排序去重
输入输入有2行,第1行为1个正整数,表示所生成的随机数的个数:N (排序+去重)第2行有N个用空格隔开的正整数,为所产生的随机数。 输出输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。样例输入1020 40 32 67 40 20 89 300 400 15样例输出815 20...原创 2016-09-27 14:43:22 · 301 阅读 · 0 评论 -
出专辑
【今日头条笔试题(上题回文解码开始连续四题)】你作为一名出道的歌手终于要出自己的第一份专辑了,你计划收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完整地收录于一张 CD 当中。每张 CD 的容量长度都是 L 秒,而且你至少得保证同一张 CD 内相邻两首歌中间至少要隔 1 秒。为了辟邪,你决定任意一张 CD 内的歌数不能被 13 这个数字整除,那么请问你出这张专辑至少需要多少张 CD ?原创 2016-09-27 14:08:42 · 371 阅读 · 0 评论 -
求绝对值
描述求一个整数的绝对值( 这个数长度小于19位 )多组测试数据,当用户输入0时,程序结束。输入多组测试数据,当用户输入0时,程序结束。输出每个结果单独 输出一行样例输入123456789123456-1234567891230样例输出123456789123456123456789123#include原创 2016-10-08 09:17:19 · 376 阅读 · 0 评论 -
分数加减法
描述编写一个C程序,实现两个分数的加减法输入输入包含多行数据 每行数据是一个字符串,格式是"a/boc/d"。 其中a, b, c, d是一个0-9的整数。o是运算符"+"或者"-"。 数据以EOF结束 输入数据保证合法输出对于输入数据的每一行输出两个分数的运算结果。 注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数样例原创 2016-10-22 14:07:26 · 298 阅读 · 0 评论 -
删除数字使剩下的新数最大
描述请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888 输入第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输出原创 2016-10-25 14:47:14 · 2913 阅读 · 0 评论 -
拆分为2的幂的和的种数
题目描述一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,原创 2016-10-27 16:24:53 · 1624 阅读 · 0 评论 -
求最大最小数
题目描述输入N个(N输入描述:输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。输出描述:输出包括两个整数,为给定N个数中的最大值与最小值。输入例子:51 2 3 4 533 7 8输出例子:5 18 3【代码】int main(){ int n; whil原创 2016-10-28 17:19:53 · 295 阅读 · 0 评论 -
求公共子序列和公共子串
输入第一行给出一个整数N(0接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.输出每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。样例输入2asdfadfsd123abcabc123abc样例输出36输入两个字符串,输出它们的最长子字符串。{CSDN:CODE:190174原创 2016-09-26 20:32:51 · 260 阅读 · 0 评论 -
回文解码
现在有一个字符串,你要对这个字符串进行 n 次操作,每次操作给出两个数字:(p, l) 表示当前字符串中从下标为 p 的字符开始的长度为 l 的一个子串。你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的,你可以从样例中得到更多信息。输入描述:每组测试用例仅包含一组数据,每组数据第一行为原字符串,长度不超过 10 ,仅包含大小写字符原创 2016-09-27 13:56:29 · 284 阅读 · 0 评论 -
顺时针输出矩阵
描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4输入直接输入方陈的维数,即n的值。(n输出输出结果是蛇形方陈。样例输入3样例输出7 8 16 9 25 4 3#includeint main(){ int a,b,n,sum=原创 2016-09-20 19:49:42 · 655 阅读 · 0 评论 -
两堆西瓜的质量差最小
描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb立刻下定决心买了一堆西瓜。当他准备把西瓜送给C小加和never的时候,遇到了一个难题,never和C小加不在一块住,只能把西瓜分成两堆给他们,为了对每个人都公平,他想让两堆的重量之差最小。每个西瓜原创 2016-11-01 16:24:55 · 762 阅读 · 0 评论 -
矩阵逆旋转90度
输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 接下来n行每行包含m个整数,表示输入的图像。输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入2 31 5 33 2 4样例输出3 45 21 3【代码】#include using namespace std;int m原创 2016-09-21 17:59:41 · 1670 阅读 · 0 评论 -
杨辉三角
输入格式 输入包含一个整数n输出格式 输出杨辉三角的前n行,每一行从这一行的第一个数开始一次输出,中间使用一个空格分隔样例输入 4样例输出11 11 2 11 3 3 1【代码】#include#includeusing namespace std;int main(){ int n,a[50][5原创 2016-09-26 16:24:48 · 416 阅读 · 0 评论 -
数组中各个数字出现的次数
int main(){ int a[1000]; for(int i=0; i { for(int j=i+1; j { if(a[i]>a[j]) { int temp; temp = a[i]; a[i] = a[j]; a[j] = temp; } } }原创 2017-04-05 09:01:11 · 377 阅读 · 0 评论 -
两个数字之和等于sum
能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解。转载 2017-04-17 14:21:37 · 608 阅读 · 0 评论 -
Json查询
问题描述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据。JSON 格式中的基本单元是值 (value),出于简化的目的本题只涉及 2 种类型的值: * 字符串 (string):字符串是由双引号 " 括起来的一组字符(可以为空)。如果字符串的内容中出现双引号 ",在双引号前面加反斜杠,也就是用 \"转载 2017-12-01 17:25:07 · 2548 阅读 · 0 评论 -
公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 每次取钥匙的时候,老师们都会找到自转载 2017-12-01 16:10:09 · 835 阅读 · 0 评论 -
消除类游戏
问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某原创 2017-12-01 16:51:05 · 600 阅读 · 0 评论 -
火车购票
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最原创 2017-12-01 16:28:41 · 467 阅读 · 0 评论 -
除法
问题描述:输入正整数n,按照从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2样例输入:62样例输出:79546/01283=6294736/01528=62分析:枚举0~9的所有排列?没有必要,只需要枚举fghij就可以算出abcde,然后判断是否所有数字都不相同即可。不仅程序简单而且枚举量也从1转载 2017-11-30 22:02:26 · 330 阅读 · 0 评论 -
最大序列和
输入描述:第一行为一个正整数N,第二行为N个整数,表示序列中的数。输出描述:输入可能包括多组数据,对于每一组输入数据,仅输出一个数,表示最大序列和。输入例子:51 5 -3 2 461 -2 3 4 -10 64-3 -1 -2 -5输出例子:97-1【代码】#includeusing namespac原创 2016-10-28 17:55:37 · 303 阅读 · 0 评论 -
部分和为特定的值
描述给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。输入首先,n和k,n表示数的个数,k表示数的和。接着一行n个数。(1输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例输入4 131 2 4 7样例输出YES2 4 7#i原创 2016-11-01 16:54:52 · 264 阅读 · 0 评论 -
实现将一个整数反转
输入一个整数并把整数所有数字倒序输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 4转载 2017-03-25 11:18:35 · 666 阅读 · 0 评论 -
代码员工分配方案
题目描述:最近公司收到了一项任务。这项任务太繁重了,以至于要分割成几部分交给不同的人做才能完成。公司有三类员工,每类员工分别能完成5,8,10 KB代码量。经理在估计了任务所需代码量后,想知道有多少种分配方案能刚刚好完成任务。输入输入第一行一个整数n(1接下来第二行三个整数a,b,c(0样例输入233原创 2017-04-26 12:15:22 · 544 阅读 · 0 评论 -
三角形的判定和交换两个变量的值
描述多组输入用户输入0 时 程序结束用户会输入 3 个整数 ,它们代表着3条木棍的长度。你需要判断,这3条木棍能否组成一个三角形,如果可以 输出 Great,you are genius! 如果不可以 输出 oh,my god!输入用户会输入 3 个数 ,它们代表着3条木棍的长度x(0原创 2016-10-12 14:06:27 · 1417 阅读 · 0 评论 -
括号匹配问题(判断以及添加)
输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes【代码】#include#include#define MAX 1100char str[MAX];using namespace std;原创 2016-09-22 16:52:30 · 1044 阅读 · 0 评论 -
自动分配座位
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在转载 2016-11-07 15:45:32 · 4027 阅读 · 0 评论 -
进制转换问题
1.将十进制转换为任意进制问题描述输入十进制数n(0),请输出它对应的k(2)进制数。10,11…分别用A, B … 代替。输入数据本题有多组输入数据,你必须处理到EOF为止.每组数据占一行,有2个整数n,k输出数据输出n对应的k进制数,一个数一行。输入样例 3 2 4 3 15 16输出样例 11 11 F{原创 2016-09-22 15:48:45 · 559 阅读 · 0 评论 -
组合数,5,3从大到小排列
描述找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出543542541532531521432431421321#include原创 2016-10-25 16:13:30 · 771 阅读 · 0 评论 -
最大公约数和最小公倍数
带助教的时候看到这题很亲切,所以记了下来int main(){ int low,high; cin>>low>>high; int d = high*low; while(low!=0) //最大公约数 { int t = high % low; high原创 2016-09-22 16:31:02 · 248 阅读 · 0 评论 -
求约数的个数
输入描述:输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。输出描述:可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。输入例子:51 3 4 6 12输出例子:12346【代码】原创 2016-10-27 15:34:24 · 407 阅读 · 0 评论 -
迷宫最小步数
描述这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1,0,0,0,0,1 1,1,1,1,1,1原创 2016-10-25 16:29:57 · 819 阅读 · 0 评论 -
添加乘号和加号使结果最大
如1 3 5结果是(1+3)*5=20;最大可以添加若干个括号,但一定要保证配对,但是每两个数之间只可能有一个*或+数列最前和最后不应有+或乘小明想赢小红但是他比较笨,请你帮帮他输入多组测试数据以EOF结束,每组有一个n(n输出输出最大的结果由于结果比较大,结果对10086取余样例输入31 2 335 1 2样例原创 2016-10-25 15:26:09 · 2398 阅读 · 0 评论 -
使得闭区间内找至少有一点
描述上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?输入多组测试数据。每组数据先输入一个N,表示有N个闭区间(N≤100)。接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。输出输出一个整数,表示最少需要找几个点。样例输入41 52 41 4原创 2016-10-25 14:31:11 · 268 阅读 · 0 评论 -
卡特兰数
描述Give you a convex(凸边形), diagonal n-3 disjoint divided into n-2 triangles(直线), for different number of methods, such as n=5, there are 5 kinds of partition method, as shown in Figure 输入The原创 2016-10-25 14:12:55 · 295 阅读 · 0 评论 -
搬圆桌
现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。输入描述:一行五个整数r,x,y,x1,y1(1≤r≤100000,-100000≤x,y,x1,y1≤100000)输出描述:输出一个整数,表示答案输入例子:2 0 0 0 4原创 2016-09-28 19:29:50 · 187 阅读 · 0 评论 -
矩阵元素相乘
A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*a[2,j]...*a[i-1,j]*a[i+1,j]...*a[n,j],现输入非负整形的矩阵A[n,m],求MAX(x[i,j]原创 2016-09-28 18:33:20 · 938 阅读 · 0 评论 -
输出回文数
问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1原创 2016-09-26 16:37:02 · 670 阅读 · 0 评论