信息学奥赛一本通T1321:贪心算法 删数问题

【题目描述】输入一个高精度的正整数n,去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案使得剩下的数字组成的新数最小。输出新的正整数。(n不超过240位)输入数据均不需判错。【输入】n 和 s【输出】一个正整数,即最少需要的组数。【输入样例】175438【输出样例】13【源程序】 

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-09 16:20
  • 阅读 ( 1569 )

信息学奥赛一本通T1320:贪心算法 均分纸牌

【题目描述】有n堆纸牌,编号分别为 1,2,…, n。每堆上有若干张,但纸牌总数必为n的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n-1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如 n=4,4堆纸牌数分别为

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-09 10:20
  • 阅读 ( 959 )

信息学奥赛一本通T1318:搜索与回溯算法(DFS) 自然数的拆分

【题目描述】任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。当n=7共14种拆分方法:7=1+1+1+1+1+1+1【输入】输入n。【输出】按字典序输出具体的方案。【输入样例】7【输出样例】7=1+1+1+1+1+1+1【源程序】 

  • 0
  • 3
  • 轩爸
  • 发布于 2020-05-09 10:20
  • 阅读 ( 2525 )

信息学奥赛一本通T1319:贪心算法 排队接水

【题目描述】有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。【输入】共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。【输出】有两行,第一行为一种排队顺序,即1到n的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)

  • 0
  • 2
  • 轩爸
  • 发布于 2020-05-09 10:20
  • 阅读 ( 1606 )

信息学奥赛一本通T1317:搜索与回溯算法(DFS) 组合的输出

【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:1 2 3   1 2 4   1 2 5   1 3 4   1 3 5   1 4 5   2 3 4   2 3 5   2 4 5   3 4 5【输入】一行两

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-09 10:20
  • 阅读 ( 2124 )

信息学奥赛一本通T1316:递归算法 数的计数

【题目描述】    我们要求找出具有下列性质数的个数(包括输入的自然数n)。先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:不作任何处理;在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止。【输入】自然数n(n≤1000)。【输出】满足条件的数。【输入样例】6【输出样例】6提示:满足条件的数为 6、16、26、12

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-09 10:20
  • 阅读 ( 1841 )

信息学奥赛一本通T1315:递归算法 集合的划分

【题目描述】设S是一个具有n个元素的集合,S=⟨a1,a2,……,an⟩,现将S划分成k个满足下列条件的子集合S1,S2,……,Sk且满足:则称S1,S2,……,Sk是集合S的一个划分。它相当于把S集合中的n个元素a1,a2,……,an放入k个(0<k≤n<30)无标号的盒子中,使得没有一个盒子为空。请你确定n个元素a1,a2,……,an放入k个无标号盒子中去的划分数S(n,k)。【输入】给出n和

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-08 16:20
  • 阅读 ( 1485 )

信息学奥赛一本通T1314:递推算法 过河卒

【题目描述】棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)、B点(n, m) (n,m为不超过20的整数),同样马的位置坐标是需要给出的,C≠A且C≠B。现在要求你计算出卒从A

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-08 16:20
  • 阅读 ( 1348 )

信息学奥赛一本通T1313:递推算法 位数问题

【题目描述】在所有的N位数中,有多少个数中有偶数个数字3?由于结果可能很大,你只需要输出这个答案对12345取余的值。【输入】输入包含一行,一个字符串,长度不超过1000。读入一个数N。【输出】输出有多少个数中有偶数个数字3。【输入样例】2【输出样例】73【源程序】 

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-08 16:20
  • 阅读 ( 1500 )

信息学奥赛一本通T1312:递推算法 昆虫繁殖

【题目描述】科学家在热带森林中发现了一种特殊的昆虫,这种昆虫的繁殖能力很强。每对成虫过x个月产y对卵,每对卵要过两个月长成成虫。假设每个成虫不死,第一个月只有一对成虫,且卵长成成虫后的第一个月不产卵(过X个月产卵),问过Z个月以后,共有成虫多少对?0≤X≤20,1≤Y≤20,X≤Z≤50。【输入】x,y,z的数值。【输出】过Z个月以后,共有成虫对数。【输入样例】1 2 8【输出样例】37【源程序】

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-08 16:20
  • 阅读 ( 1247 )

信息学奥赛一本通T1311:数据排序 求逆序对

【题目描述】给定一个序列a1,a2,…,an,如果存在i<j并且ai>aj,那么我们称之为逆序对,求逆序对的数目。【输入】第一行为n,表示序列长度,接下来的n行,第i+1行表示序列中的第i个数。【输出】所有逆序对总数。【输入样例】4【输出样例】3【源程序】

  • 0
  • 3
  • 轩爸
  • 发布于 2020-05-08 16:20
  • 阅读 ( 2647 )

信息学奥赛一本通T1310:数据排序 车厢重组

【题目描述】在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。【输入】有两

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-07 16:20
  • 阅读 ( 1362 )

信息学奥赛一本通T1309:高精度计算 回文数

【题目描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87:STEP1: 87+78= 165 STEP2: 165+561= 726STEP3: 726+627=1353STEP4:1353+3531=4884在这里的一步是指进行了一次N进制

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-07 16:20
  • 阅读 ( 1283 )

信息学奥赛一本通T1307:高精度计算 高精度乘法

【题目描述】输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】36【输出样例】108【源程序】 

  • 0
  • 2
  • 轩爸
  • 发布于 2020-05-07 16:20
  • 阅读 ( 2326 )

信息学奥赛一本通T1308:高精度计算 高精除

【题目描述】高精除以高精,求它们的商和余数。【输入】输入两个低于300位的正整数。【输出】输出商和余数。【输入样例】1231312318457577687897987642324567864324567876543245671425346756786867867867【输出样例】999999999748590【源程序】

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-07 16:20
  • 阅读 ( 1945 )

信息学奥赛一本通T1306:动态规划经典问题 最长公共子上升序列

【题目描述】给定两个整数序列,写一个程序求它们的最长上升公共子序列。当以下条件满足的时候,我们将长度N的序列S1,S2,...,SN 称为长度为M的序列A1,A2,...,AM的上升子序列:存在1≤i1<i2<...<iN≤M,使得对所有1≤j≤N,均有Sj=Aij,且对于所有的1≤j<N,均有Sj<Sj+1。【输入】每个序列用两行表示,第一行是长度M(1≤M≤500

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-07 16:20
  • 阅读 ( 1346 )

信息学奥赛一本通T1305:动态规划经典问题 Maximum sum

【题目描述】对于给定的整数序列A={a1,a2,...,an},找出两个不重合连续子段,使得两子段中所有数字的和最大。我们如下定义函数 d(A):我们的目标就是求出d(A)。【输入】第一行是一个整数T(≤30),代表一共有多少组数据。接下来是T组数据。每组数据的第一行是一个整数,代表数据个数据n(2≤n≤50000) ,第二行是nn个整数a1,a2,...,an(|ai|≤10000)。【输出】输

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-07 10:20
  • 阅读 ( 922 )

信息学奥赛一本通T1304:动态规划经典问题 数的划分

【题目描述】将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。 输出一个整数,即不同的分法。【输入】两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。【输出】一个整数,即不同的分法。【输入样例】7 3【输出样例】4【源程序】 

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-07 10:20
  • 阅读 ( 1069 )

信息学奥赛一本通T1303:动态规划经典问题 鸣人的影分身

【题目描述】在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为M,他影分身的个数最多为N,那么制造影分身时有多少种(用K表

  • 0
  • 0
  • 轩爸
  • 发布于 2020-05-07 10:20
  • 阅读 ( 1307 )

信息学奥赛一本通T1301:动态规划经典问题 大盗阿福

【题目描述】阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?【输入】输入的第一行是一个整数T(T≤50)

  • 0
  • 1
  • 轩爸
  • 发布于 2020-05-07 10:20
  • 阅读 ( 1039 )