基础习题
雪山飞狐YCH
ACM爱好者
展开
-
南阳理工:取石子(一)
取石子(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1 输入 第一行是一个正整数n表示有n组测试数据输入有不到1000组数据,每组数据一行,有两个数N和M,之间用空格分隔。 输出原创 2012-12-05 16:37:55 · 518 阅读 · 0 评论 -
ACM队测试:蛇形填数
蛇行矩阵Problem蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 Input本题有多组数据,每组数据由一个正整数N组成。(N不大于100) Output对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。 矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。 Sample Input5Sample原创 2012-12-05 16:38:19 · 670 阅读 · 0 评论 -
南阳理工:三点顺序
三点顺序 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 如: 图1:顺时针给出 图2:逆时针给出 输入 每行是一组测试数据,有6个整数原创 2012-12-05 16:37:36 · 873 阅读 · 0 评论 -
南阳理工:分数拆分
分数拆分 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y. 输入 第一行输入一个整数n,代表有n组测试数据。接下来n行每行输入一个正整数k 输出 按顺序输出对应每行的k找到所有满足条件1/k=1/x+1/y的组合 样例输入 2 2 12 样例原创 2012-12-05 16:38:16 · 848 阅读 · 0 评论 -
数字三角形最大和的计算
描述: 有一个非负数组成的三角形,第一行只有一个数,除了最后一行外每个数的左下方和右下方都有一个数,如图所示: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从第一行开始,每次可以往左下或者右下走一个格子,直到走到最下行,把沿途经过的和加起来,如何能使这个和尽量最大? 输入: 第一行输入一个N,表示有N组测试数据 接下来每组原创 2012-12-05 16:38:23 · 598 阅读 · 0 评论 -
HDU1228-A + B
A + BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8428 Accepted Submission(s): 4752 Problem Description 读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和原创 2012-12-05 16:39:28 · 452 阅读 · 0 评论 -
RMQ算法
Range Maximum(Minimum) Query的缩写,顾名思义是用来求某个区间内的最大值或最小值,通常用在需要多次询问一些区间的最值的问题中。 描述:输入N个数和M次询问,每次询问一个区间[L,R],求第L个数到R个数之间的最大值或者最小值。 原理:用A[1..N]表示一组数,F[I,J]表示从A[I]到A[I+2^J-1]这个范围内的最大值,也就是以A[I]为起点连续2原创 2012-12-05 16:38:57 · 361 阅读 · 0 评论 -
南阳理工:街区最短路径问题
街区最短路径问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 一个街区有很多住户,街区的街道只能为东西、南北两种方向。住户只可以沿着街道行走。各个街道之间的间隔相等。用(x,y)来表示住户坐在的街区。例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。现在要建一个邮局,使得各个住户到邮局的距离之和最少。求现在这个邮局应该建在那原创 2012-12-05 16:37:47 · 431 阅读 · 0 评论 -
南阳理工:阶乘因式分解(二)
阶乘因式分解(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给定两个数n,m,其中m是一个素数。 将n(0 注:^为求幂符号。 输入 第一行是一个整数s(0随后的s行, 每行有两个整数n,m。 输出 输出m的个数 样例输入 3 100 5 16 2 1000000000 13 样例输出 2原创 2012-12-05 16:38:08 · 635 阅读 · 0 评论 -
南阳理工:小猴子下落
小猴子下落 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小原创 2012-12-05 16:38:27 · 489 阅读 · 0 评论 -
筛法求素数表
在一些ACM比赛中,我们经常用到到素数表,并且范围可能还很大,我们最容易想到的是直接根据定义求,但是这样时间复杂度会很大!所以下面要用筛法求素数,可以在O(n)的时间内求出1~n内的素数,这在n很大的时候仍然很有效!/*筛法求素数*/#include#include#include #define N 10000000int prime[N],isprime[N];原创 2012-12-15 12:34:21 · 727 阅读 · 0 评论 -
各种蛇形填数
/*蛇形填数1:S形矩阵填数*/#include#define N 100int map[N][N];int main(){ int i,j,k,n,flag,m; while(scanf("%d",&n)!=EOF) { i=j=k=1; m=n*(n+1)/2; map[i][j]=k++; wh原创 2012-12-15 14:46:24 · 919 阅读 · 0 评论 -
河南理工:另类乘法
另类乘法 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 Bessie is tired of multiplying pairs of numbers the usual way, so she invented her own style of multiplication. In her style, A*B is equal to th原创 2012-12-05 16:38:25 · 559 阅读 · 0 评论 -
南阳理工:九的余数
九的余数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余数。 输入 第一行有一个整数m(1随后m行每行有一个自然数n。 输出 输出n整除九之后的余数,每次输出占一行。 样例输入 3 4 5 465456541 样例输出 4 5原创 2012-12-05 16:38:21 · 473 阅读 · 0 评论 -
南阳理工:次方求模
次方求模 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 求a的b次方对c取余的值 输入 第一行输入一个整数n表示测试数据的组数(n每组测试只有一行,其中有三个正整数a,b,c(1= 输出 输出a的b次方对c取余之后的结果 样例输入 3 2 3 5 3 100 10 11 12345 12345 样例输出 3原创 2012-12-05 16:38:04 · 535 阅读 · 0 评论 -
南阳理工:01串
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。 注:01串的长度为2时,有3种:00,01,10。 输入 第一行有一个整数n(0随后有n行,每行有一个整数m(2 输出 输出不含有“11”子串原创 2012-12-05 16:38:36 · 569 阅读 · 0 评论 -
求逆序数的分治算法
给我们一个序列, 让我们求其逆序数: 如3 2 1 4 逆序数为: 2+1+0+0=3 我们这样定义一个序列的逆序数: 序列a1 a2 a3 a2 ...an 这个序列的逆序数C, 等于a1,a2...的逆序数的和.即 C=sum(Ci) Ci为满足ai > aj (j > i)的数的总的个数, 即Ci = sum(ai > aj) (j >i). 我们一般写的算法一般会做原创 2012-12-05 16:38:40 · 759 阅读 · 0 评论 -
HDU1229-还是A+B
还是A+BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10668 Accepted Submission(s): 5235 Problem Description 读入两个小于10000的正整数A和B,计算A+B。需要注意的是原创 2012-12-05 16:39:26 · 387 阅读 · 0 评论 -
南阳理工:三角形面积
三角形面积 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间)输入0 0 0 0 0 0表示输入结束测试数据不超过10000组 输出原创 2012-12-05 16:37:38 · 592 阅读 · 0 评论 -
南阳理工:独木舟上的旅行
独木舟上的旅行时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的原创 2012-12-05 16:37:41 · 463 阅读 · 0 评论 -
南阳理工:sum of all integer numbers
sum of all integer numbers 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描述 Your task is to find the sum of all integer numbers lying between 1 and N inclusive. 输入 There are multiple test cases.原创 2012-12-05 16:37:45 · 550 阅读 · 0 评论 -
南阳理工:取石子 (四)
取石子 (四) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者原创 2012-12-05 16:38:00 · 435 阅读 · 0 评论 -
南阳理工:Substring
Substring 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 You are given a string input. You are to find the longest substring of input such that the reversal of the substring is also a substring of原创 2012-12-05 16:38:02 · 415 阅读 · 0 评论 -
南阳理工:序号互换
序号互换 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来。单元格的行坐标是由数字编号的数字序号,而列坐标使用字母序号。观察字母序号,发现第1列到第26列的字母序号分别为A,B,…,Z,接着,第27列序号为AA,第28列为AB,依此类推。 若给Dr.Kong的原创 2012-12-05 16:38:06 · 1166 阅读 · 1 评论 -
南阳理工:寻找最大数
寻找最大数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=92081346718538,m=10时,则新的最大数是9888 输入 第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位原创 2012-12-05 16:38:12 · 462 阅读 · 0 评论 -
POJ1164-放苹果
题目大意:给出n个盘子m个苹果,盘子和苹果各自都没有差异,问总共有多少种放法! /*当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m) 当n<=m:不同的放法可以分成两类: 1、有至少一个盘子空着,即相当于f(m,n) = f(m,n-1); 2、所有盘子都有苹果,相当于可以从每个盘子中原创 2013-04-30 09:15:11 · 571 阅读 · 0 评论