XDOJ
西电oj个人代码分享
用屁屁笑
这个作者很懒,什么都没留下…
展开
-
XDOJ396.图灵机模拟程序
2)最后一行为一个长度不超过 100 的字符串,表示图灵机输入 该字符串由若干‘#’,两个‘*’和若干‘0’,‘1’字符构成,‘#’表示纸 带上的空白,‘*’表示输入分界符,‘0’和‘1’表示有效输入,“输入符号”和“输出符号”各是一个字符,输入和输出符号有‘*’, ‘0’,‘1’三种,其中‘*’表示分界符,两个‘*’之内的部分是有效 输入/输出。纸带其余部分填充‘#’表示空白 “纸带移动方向”也是一个字符,有三种可能:‘L’表示左移,‘R’表 示右移,‘N’表示不动。接下来是 n+1 行。原创 2024-01-08 15:48:10 · 408 阅读 · 0 评论 -
XDOJ380.分宝物
sA代表寻宝者A所获物品价值总和,sB代表寻。提示,n=1,宝藏价值分别为2, 3, 5, 7, 11,二者之差绝对值,最小可以为0,所以输出为0。第n个质数,第一个质数为2,第二个质数为3,第三个为5,n的数值由键盘输入,0 < n < 20。差距最小,即两人所获物品价值总和之差的绝对值|sA − sB|最小。两个寻宝者找到一个宝藏,里面包含5件物品,每件物品的价值分别是。宝者B所获物品价值总和,请问怎么分配才能使得两人所获物品价值总和。原创 2024-01-08 14:13:34 · 412 阅读 · 0 评论 -
XDOJ379.求解星期
英文是Monday, Tuesday, Wendnesday, Thursday,Friday, Saturday和Sunday。日期,比如2020年11月5日为2020 11 5,之间以空格隔开;输入是对应英文单词,已知2021年11月14日为星期天,输入之前的任意一个年份的时间,是星期4,为Thursday,首字母大写,其余小写。提示,星期一到星期天对应。说明:输入是三个整数,第一个表示年份,第二个表示月份,第三个表示。原创 2024-01-08 13:11:09 · 411 阅读 · 0 评论 -
XDOJ247.日期计算
输入包含两个整数y和d,y表示年份,年份在1900到2025之间(包含1900和2025)。给定一个年份y和一个整数d,问这一年的第d天是几月几日?在一行输出两个整数,分别表示答案的月份和日期,以空格分隔。1) 年份是4的整数倍,而且不是100的整数倍;d表示这一年的第几天,d在1至365之间。2) 年份是400的整数倍。原创 2024-01-08 11:45:00 · 494 阅读 · 0 评论 -
XDOJ246.单词统计
输入字符串string[N](N≤100),各个单词以空格隔开,单词长度小于等于8,输入单词word[M](M≤8),在string中查找出相同的单词并统计该单词出现的次数信息,单词不区分大小写,主函数输入字符串和待统计单词,编写函数count()实现统计和信息输出。输入一行字符以空格隔开各个单词,输入要统计的单词。输出单词和出现次数的信息,数据之间空一格空格。输出单词及其出现的次数信息,数据之间空一格。原创 2024-01-08 11:30:04 · 350 阅读 · 0 评论 -
XDOJ175.窗口模拟
每行包含四个非负整数 x1, y1, x2, y2,表示该窗口的一对顶点坐标分别为 (x1, y1) 和 (x2, y2)。如果该次鼠标点击选择了一个窗口,则输出这个窗口的编号(窗口按照输入中的顺序从 1 编号到 N);当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。原创 2024-01-08 01:33:22 · 355 阅读 · 0 评论 -
XDOJ174.分配宝藏
SumA代表寻宝者A所获物品价值总和,SumB代表寻宝者B所获物品价值总和,请问怎么分配才能使得两人所获物品价值总和差距最小,即两人所获物品价值总和之差的绝对值|SumA - SumB|最小。两个寻宝者找到一个宝藏,里面包含n件物品,每件物品的价值分别是W[0],W[1],…对于每组数据,输出一个整数|SumA-SumB|,表示两人所获物品价值总和之差的最小值。第二行有n个正整数,分别代表每件物品的价值W[i],其中0<W[i]<=200。第一行为一个正整数n,表示物品个数,其中0<n<=200。原创 2024-01-08 00:41:15 · 371 阅读 · 0 评论 -
XDOJ173.购票系统
如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。第二行包含n个整数,每个整数p在1到5之间,表示要购入的票数,相邻的两个整数之间使用一个空格分隔,所有购票数量之和不超过100。假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令,输出购票结果。第一行包含一个整数n,表示购票指令的数量,1 ≤ n ≤ 100。1) 购2张票,得到座位1、2。原创 2024-01-07 20:32:37 · 332 阅读 · 0 评论 -
XDOJ172.考勤系统
例如14:20表示下午两点二十分,所有时间均为24小时制,且均为同一天内的时间。给出所有学生一天的考勤记录,请统计每个学生在实验室工作的时间,并按照工作时间从长到短给出一天的统计表,工作时间相同时按编号从小到大排序。统计表包含若干行,每行为一个学生的出勤记录,由学生编号和总工作时间构成,总工作时间以分钟为单位。接下来是n行,每行是一条考勤记录,每条记录包括学生编号k,进入时间t1和离开时间t2三项。实验室使用考勤系统对学生进行考勤。每位学生有一个唯一编号,每条考勤记录包括学生的编号,进入时间、离开时间。原创 2024-01-07 00:59:35 · 346 阅读 · 0 评论 -
XDOJ167.数字统计排序
输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。给出的数都是不超过1000的非负整数。给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出,次数相同时先输出值较小的数。输入的第一行包含一个整数n,表示给定数字的个数。原创 2024-01-06 20:52:28 · 408 阅读 · 0 评论 -
XDOJ135.拼数字排序
例如字符串“abc123d5e7f22k9”中共有5个数字123,5,7,22,9,因此应输出123 22 9 7 5。对于输入的字符串(只包含字母和数字),将其中的连续数字拼接成整数,然后将这些整数按从大到小顺序输出。输入为一个字符串,字符串长度不超过100,其中最长的连续数字不超过10个,字符串中至少包含1个数字。对于输入的字符串,在一行上输出排序结果,整数间以一个空格间隔。原创 2024-01-06 20:31:29 · 354 阅读 · 0 评论 -
XDOJ108.拼数字
对于给定的字符序列(字符序列长度小于100),从左至右将所有数字字符取出拼接成一个无符号整数(拼接出的整数小于2^31)。对输入的字符序列,求出所得整数的最大因子;若字符序列中没有数字或找出的整数为0,则输出0。然后计算并输出该整数的最大因子(如果是素数或0,则其最大因子为自身)。输入数据为一行字符序列。原创 2024-01-05 13:33:59 · 394 阅读 · 0 评论 -
XDOJ78.机器人
如下图所示,在网格1中,机器人初始位于网格第1行第5列,按照网格中的指令,机器人在走出网格前需要10步。在网格2中,机器人初始位于网格第1行第1列,按照网格中的指令,机器人将进入一个循环,永远走不出网格,且在进入循环前走了11步。输入数据第一行为空格分隔的3个整数,分别表示网格行数N、列数M和初始时刻机器人所在的列C(从网格最左边开始,以1为基准计数)。每个网格的行数和列数均不超过20。假定机器人初始时刻总是在网格第一行的某一列上,请你写一个程序确定机器人能否走出网格,并输出走出网格或进入循环需要的步数。原创 2024-01-05 13:09:24 · 479 阅读 · 0 评论 -
XDOJ562.两个分数的加法和减法
输出格式 输出两行,第一行输出两个分数的和的分子和分母,两者之间用空格隔开,分子在前, 分母在后。第二行输出两个分数的差的分子和分母,两者之间用空格隔开,分子在前,分母 在后。输入格式 第一行输入第一个分数的分子和分母,两者之间用空格隔开,分子在前,分母在后。第 二行输入第二个分数的分子和分母,两者之间用空格隔开,分子在前,分母在后。题目:两个分数的加法和减法 问题描述 实现两个分数的加法和减法运算,负分数的分子为负数。原创 2024-01-05 10:51:11 · 542 阅读 · 0 评论 -
XDOJ472.奥运金牌奖
输出优先按照金牌数,金牌数相同的按照银牌数,金银牌数目都相同的按照铜牌数从多到少,金银铜牌都相同的按照代号字母顺序排出的奥运奖牌棒。iMedalType:表示当前奖牌数目刚刚发生变化的代表队刚刚获得的奖牌类型,其值为GOLDMEDAL(值0)代表金牌,SILVERMEDAL(值1)代表银牌,BRONZEMEDAL(值2)代表铜牌。第二行起的n行给出了n个比赛项目的金银铜牌运动员所属代表队信息,每行包含3个字符a1, a2, a3,表示金银铜牌运动员所属代表队代号,相邻的代号之间用一个空格分隔。原创 2023-12-27 15:07:37 · 641 阅读 · 0 评论 -
XDOJ556.连续数字提取
(注:1287 视为整体,不属于连续数字字符串,不可被看 为是 12 与 87 两个连续数字字符串。单独的数字如 1,视为连续字符串,需要加以输出)评测用例规模与约定 提取出来的连续数字字符串长度不超过 20,输入字符串内至多含有 10 个连续字符串, 时间限制 1s,内存限制 256KB。题目:连续数字字符串提取 问题描述 输入一个字符串,将连续的数字字符串放到另一个二维数组中。输出提取出来的数字字符串,每个连续数字字符串占一行。样例说明 79869 不连续,不输出。输入一个含连续数字的待提取字符串。原创 2023-12-25 14:17:33 · 734 阅读 · 0 评论 -
XDOJ536.染色次数统计
在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形,表示将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。参数2:二维整型数组,第2维表示输入矩形的序号,第1维4个元素依次表示矩形左下角横坐标、左下角纵坐标、右上角横坐标和右上角纵坐标。参数3:一维整型数组,表示统计结果,按照降序,第1个元素存放染色次数,下一个元素存放相同染色次数的单元格数目,以此类推。原创 2023-12-21 23:17:46 · 596 阅读 · 2 评论 -
XDOJ470.图形对称性判断
输出一个或多个整数,表示该方阵对应图形的对称性:1代表水平对称,2代表垂直对称,3代表对角对称(即以左上到右下的线为对称轴),4代表反对角对称(即以右上到左下的线为对称轴),5代表旋转对称(即以中心位置为轴旋转180°后与原图形重合)。请编写五个函数checkHorSym,checkVerSym,checkDiaSym,checkAntiDiaSym,checkRotSym分别判断方阵的水平对称性、垂直对称性、对角对称性、反对角对称性、旋转对称性。输入的第一行包含一个整数n,表示方阵维度,方阵为nxn维。原创 2023-12-21 22:47:35 · 1077 阅读 · 0 评论 -
XDOJ233.字符串部分复制
给定一个的字符串,从第m个字符开始复制成为另一个字符串。编写函数copystr( )完成字符串复制,使用字符类型的指针变量作为形参,主函数完成字符串输入和m值的输入,函数调用,以及最后结果的输出。第一行从键盘输入一个字符串,该字符串中字符可以是字母、数字、空格和其它字符。字符串总长不超过50个字符。若该字符串长度小于m,则输出error,否则输出从该字符串第m个字符复制的字符串。试题名称 字符串部分复制。内存限制: 256KB。第二行输入整数m的值。原创 2023-12-21 15:01:12 · 415 阅读 · 0 评论 -
XDOJ231.最长单词的长度
从键盘输入一个英文句子,句子中只含有英文字符和空格,句子以’.’结束。句子总长不超过100个字符。输出一个整数,表示这个句子中最长单词的长度。允许句子中有相同长度的单词。给定一个英文句子,统计这个句子中最长单词的长度,并在屏幕上输出。试题名称 最长单词的长度。内存限制: 256KB。原创 2023-12-21 14:44:07 · 337 阅读 · 0 评论 -
XDOJ706.字符串插入
问题描述 编写程序:将一个不大于 20 个字符的字符串插入到一个不大于 20 个字符的主字符串的指定 位置中,并打印插入后的字符串。输入说明 输入分三行: 第一行为主字符串;第三行为要插入位置开始的索引号(数组下标)n;输出说明 输出一行,为最后的字符串。原创 2023-12-20 18:03:38 · 420 阅读 · 0 评论 -
XDOJ705.数组折叠
【代码】XDOJ705.数组折叠。原创 2023-12-20 17:22:50 · 531 阅读 · 0 评论 -
XDOJ704.字符串处理
题目描述:输入由数字和字符构成的字符串(不包含空格),将字符串中符合十六进制数据 格式的数字和字符按照其对应的十进制数值进行累加,并输出累加结果,如果字符串中不含 有任何满足十六进制格式的字符,则输出结果 NO。输入格式 输入一行字符串,字符串 c 的长度不超过 50。输出说明 输出一个整数,表示十进制的累加值。原创 2023-12-20 16:54:39 · 856 阅读 · 0 评论 -
XDOJ702.最长的整数序列
输入说明 输入数据分为两行。输入的第一行只有一个整数n(1 ≤ n ≤ 1000),表示数列中整数的个数。输入的第二行有n个整数a1, a2, …, an(0 ≤ ai ≤ 1000),表示给定的数列,相邻的整 数之间用一个空格分隔。问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中最长的整数序列 的长度是多少?输出说明 输出一个整数,表示给定的数列中最长的整数序列的长度。标题 最长的整数序列。原创 2023-12-20 16:14:38 · 540 阅读 · 1 评论 -
XDOJ698乘法口诀
输入说明 在一行中读入 3 个整数,依次为 a1、a2 和 n,满足 0≤a1,a2≤9,1≤n≤100。更新数列:2 3 6 1 8 6 8 4 8 6*8=48,48拆分为两项。更新数列:2 3 6 1 8 6 8 8*6=48,48拆分为两项。更新数列:2 3 6 1 8 6 8 4 8 4 8。输出数列前10项:2 3 6 1 8 6 8 4 8。更新数列:2 3 6 3*6=18,18拆分为两项。更新数列:2 3 6 1 8 6 1*8=8。更新数列:2 3 6 1 8 6*1=6。原创 2023-12-20 15:25:57 · 410 阅读 · 0 评论 -
XDPJ696.交换最大值与最小值
问题描述 将输入的一系列整数保存在数组中,然后将输入的一系列整数中的最小值与第一个数交 换,然后将最大值与最后一个数交换,最后按照交换后的顺序输出数组中的元素。输入说明 输入数据分为两行。第一行包含了一个整数n,表示整数系列的个数,2 ≤ n ≤ 20。第二行包含n个整数,整数区间为[0,10000]。输出说明 按照交换后的顺序输出数组中的元素,中间用空格分隔。标题 交换最大值与最小值。原创 2023-12-19 17:05:35 · 451 阅读 · 0 评论 -
XDOJ695.等差数列及位置指示
输出说明 对输入数据进行判断,若不能构成等差数列,将数列递增排序,分别输出排序后数据间的 最大差值和最小差值,数据间以空格分隔;若能构成等差数列,将数列递增排序,并输出排序后各个数据在原数列中的对应位置(位置 计数从 1 开始)。输入说明 输入数据由两行构成,第一行只有一个整数 n(n<100),表示序列长度(该序列中整数的 个数);第二行为 n 个整数,每个整数互不相同,且取值区间都为[-32768~32767],整数之间以空格 间隔。问题描述 请写一个程序,判断给定整数序列能否构成一个等差数列。原创 2023-12-19 16:42:19 · 627 阅读 · 0 评论 -
XDOJ689.找出同数
问题描述 注意力训练有一种方法叫做“寻找同数”,它既是“眼力”的训练——快速的在一串一串的数字 中找到“指定”的数字出现的次数;同时也是观察力与专注力的训练——只有保持注意力的高度 集中,你才能快速准确的找到这些指定的数字。输入说明 输入数据分为两行。第一行为一个数字字符串m(长度不超过3),表示待寻找的数字;第二行为一个数字字符串s(长度不超过50)。要求在数字串s中查找数字串m出现的次数。输出说明 输出一个整数,表示在第二行所给的数字串s中,可以找到几个m数字串。提示: 数字串应按照字符数组处理。原创 2023-12-19 15:16:30 · 1010 阅读 · 0 评论 -
XDOJ566.提取有效数字
二行包含 n 个整数,数字之间以空格分隔,每个数字大于等于 1 且小于等于 100。大量的自然语言文本,生成媲美人类的连贯语言输出。定一串数字,某个数字出现 3 次以上,则为有效数字。请你编写一个程序,提取。算机科学中的一类经典问题,即如何从大量数据中提取有用信息。一串数字中的有效数字,且有效数字按照出现的先后顺序排列,若无有效数字,输入为两行,第一行包含一个正整数 n,表示第二行序列中数字的个数;输出为一行,按照输入的顺序输出有效数字,整数之间用空格分割,若无有。效数字,输出 No。原创 2023-11-04 16:05:02 · 405 阅读 · 0 评论 -
XDOJ515.两数之和
给定一个整数数组 nums 和一个整数目标值target,请你在该数组中找出和为目标值 target 的那两个整数,并输出它们的数组下标,同一个元素只能使用一次。题目给定数据保证有且只有一对元素符合要求,且数组中不存在重复元素。第二行包含n个整数a1, a2, …, an,表示给定的数组元素,相邻的整数之间用一个空格分隔。目标和值为9,数组中符合要求的元素为2和7,它们的下标是0和1。输出两个整数,表示符合要求的两个元素的下标值,下标值小的在前。输入的第一行包含一个整数n,表示数组中元素的个数。原创 2023-11-04 15:20:05 · 101 阅读 · 0 评论 -
XDOJ483.托普利兹矩阵
输入向量的元素以一个空格分隔,末尾无其他符号;托普利兹矩阵(大小 nxn)满足主对角线上的元素均相等,平行于主对角线的线上的元。首列,矩阵其他元素均与左上角的元素相等,这样构成的矩阵即为托普利兹矩阵。因此,给定一个行向量和一个列向量(行、列向量首个元素相等),作为矩阵的首行和。编写程序,当输入一个行向量和一个列向量时,输出所构成的托普利兹矩阵。第一行输入一个行向量:H1 H2 H3 H4 H5 ……第二行输入一个列向量:C1 C2 C3 C4 C5。素也均相等,如下列矩阵所示。输出一个托普利兹矩阵。原创 2023-11-04 14:35:58 · 618 阅读 · 2 评论 -
XDOJ455.矩阵转置
输入为一个3x4的矩阵,列与列之间以空格间隔,行与行之间以换行间隔。输出为一个4x3的矩阵,列与列之间以空格间隔,行与行之间以换行间隔。从键盘上输入一个3x4的矩阵,将其转置后形成4x3的矩阵输出。将矩阵的每个元素位置的行与列转换后输出。原创 2023-11-04 10:56:33 · 305 阅读 · 0 评论 -
XDOJ454.单位矩阵
用循环的方法构造一个n行n列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。输入仅包含一个整数n,表示矩阵维数。注意:如何进行内存的动态分配?输出一个单位n维矩阵。输出为5x5的单位矩阵。原创 2023-11-04 10:50:05 · 106 阅读 · 0 评论 -
XDOJ382.图像旋转2021
输入的第一行包含两个整数 n, m(1 ≤ n, m ≤ 100),分别表示图像矩阵。输出 m 行,每行包含 n 个整数,表示原始矩阵逆时针旋转 90 度后的矩阵。接下来 n 行每行包含 m 个不超过 1000 的非负整数,表示输入的图像。旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转。计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将。对应的矩阵旋转即可。原创 2023-11-04 10:44:16 · 112 阅读 · 0 评论 -
XDOJ381.小中大
输入为两行,第一行为一个整数 n,表示数列有 n 个整数(n<105);在数据分析中最小值,最大值和中位数是常用的统计信息。数列中最中间的那个数,当数列个数为奇数时,取最中间那个数的值;给出 n 个有序偶数(升序或降序),依次输出其最大值、中位数和最小值。依次输出数列最大值、中位数和最小值,用空格分隔。数为偶数时,取中间两个数的平均值。第二行为 n 个有序偶数。原创 2023-11-04 10:18:02 · 186 阅读 · 0 评论 -
XDOJ239.杨辉三角
输出格式:输出杨辉三角的前n行,元素中间用一个空格分隔,每行用换行分隔。杨辉三角性质:三角形中的每个数字等于它两肩上的数字相加。给出正整数n(2<=n<=10),输出杨辉三角前n行。输入格式:输入一个正整数n。原创 2023-11-04 10:18:54 · 38 阅读 · 0 评论 -
XDOJ238.数组鞍点
输出格式:如果鞍点存在,分别输出鞍点的元素值,所在行和所在列,用空格分隔;1、输入一个4行5列的二维数组,求出数组中鞍点及其所在行与列。如果鞍点不存在,输出“鞍点不存在”。(鞍点:即该位置上的元素在该行中最大,在该列中最小)输入格式:输入一个4行5列的整形数组。输入样例一: 1 2 3 4 5。输入样例二:5 4 3 2 1。输出样例一:5 1 5。输出样例二:鞍点不存在。原创 2023-11-04 10:20:08 · 104 阅读 · 0 评论 -
XDOJ226.字符数组排序
从键盘输入一个字符串,将此字符串按字符的ASCII码值从小到大排序,并显示排序后的字符串。输出说明:共一行,输出排序后的字符串。输入说明:共一行,输入一个字符串。输入样例:Fdjn4e5。输出样例:45Fdejn。原创 2023-11-03 22:48:46 · 95 阅读 · 0 评论 -
XDOJ225.矩阵计算
编写程序,把3*3阶矩阵A加上矩阵A的转置,计算结果存放在矩阵B中并输出。输入说明:输入矩阵A中的元素,数组元素用空格分隔,数组每行用换行分隔。输出说明:输出矩阵B,元素之间用空格分隔,数组每行用换行分隔。输出示例: 2 6 10。输入示例:1 2 3。原创 2023-11-03 22:23:49 · 61 阅读 · 0 评论 -
XDOJ201.后项除以前项
数组a包括10个整数,把a中所有的后项除以前项之商取整后存入数组b。输入:1 2 5 15 60 70 30 90 100 200。输出格式:共一行,输出数组b中的值,以空格分隔。输入格式:共一行,输入数组a中的所有值;输出:2 2 3 4 1 0 3 1 2。原创 2023-11-03 20:55:50 · 175 阅读 · 0 评论