ACM学习
AI小白入门
公众号:StudyForAI
知乎:https://www.zhihu.com/people/yuquanle/columns
展开
-
NYOJ:60-谁获得了最高奖学金
谁获得了最高奖学金 时间限制:1000 ms | 内存限制:65535 KB 难度:2描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得; 2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),原创 2017-06-25 09:55:03 · 1279 阅读 · 0 评论 -
NYOJ:28-大数阶乘
时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0< m<=5000) 输出 输出m的阶乘,并在输出结束之后输入一个换行符 样例输入 50 样例输出 304140932017133780436126081660647688443776415689原创 2017-06-23 00:34:00 · 1027 阅读 · 0 评论 -
NYOJ:31-5个数求最值
时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 设计一个从5个整数中取最小数和最大数的程序 输入 输入只有一组测试数据,为五个不大于1万的正整数 输出 输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开。 样例输入 1 2 3 4 5 样例输出 1 5水题代码:#include<stdio.h>#include原创 2017-06-23 00:37:50 · 1005 阅读 · 0 评论 -
NYOJ:29-求转置矩阵问题
时间限制:3000 ms | 内存限制:65535 KB 难度:2描述 求一个三行三列的转置矩阵。 输入 第一行一个整数n<20,表示有n组测试数据,下面是n组数据; 每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项; 输出 每组测试数据的转置矩阵; 请在每组输出之后加一个换行 样例输入 2 1 2 3 4 5 6 7 8 9 2原创 2017-06-23 00:35:11 · 1084 阅读 · 0 评论 -
NYOJ:36-最长公共子序列
最长公共子序列时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S原创 2017-06-23 00:54:37 · 997 阅读 · 0 评论 -
NYOJ:37-回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如”aba”。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。 输入 第一行给出整数N(0< N<100) 接原创 2017-06-23 00:53:01 · 1015 阅读 · 0 评论 -
NYOJ:35-表达式求值
表达式求值时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在请你帮助他来实现这个计算器吧。 比如输入:“1+2/4=”,程序就输出1.50(结果保留两位小数) 输入 第一行输入一个整数n,共有n组测试数据(n<10)。 每组测试数原创 2017-06-23 00:48:37 · 966 阅读 · 0 评论 -
NYOJ:33-蛇形填数
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,…,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入 直接输入方陈的维数,即n的值。(n<=100) 输出 输出结果是蛇形方陈。 样例输入 3 样例输出 7 8 1 6 9 2 5 4原创 2017-06-23 00:42:45 · 970 阅读 · 0 评论 -
NYOJ:32-组合数
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 找出从自然数1、2、… 、n(0< n<10)中任取r(0< r<=n)个数的所有组合。 输入 输入n、r。 输出 按特定顺序输出所有组合。 特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。 样例输入 5 3 样例输出 543 542 541 532 531 521 43原创 2017-06-23 00:41:14 · 1084 阅读 · 0 评论 -
NYOJ:48-小明的调查作业
小明的调查作业 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 小明的老师布置了一份调查作业,小明想在学校中请一些同学一起做一项问卷调查,聪明的小明为了实验的客观性,想利用自己的计算机知识帮助自己。他先用计算机生成了N个1到1000之间的随机整数(0< N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这原创 2017-06-23 01:00:16 · 1275 阅读 · 0 评论 -
NYOJ:25-A Famous Music Composer
时间限制:1000 ms | 内存限制:65535 KB 难度:1描述 Mr. B is a famous music composer. One of his most famous work was his set of preludes. These 24 pieces span the 24 musical keys (there are musically distinct 12原创 2017-06-21 23:12:38 · 1304 阅读 · 0 评论 -
NYOJ:24-素数距离问题
时间限制:3000 ms | 内存限制:65535 KB 难度:2描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。 如果输入的整数本身就是素数,则输出该素数本身,距离输出0 输入 第一行给出测试数据组数N(0< N<=10000) 接下来的N行每行有一个整数M(0< M<1000000),原创 2017-06-21 23:08:47 · 987 阅读 · 0 评论 -
NYOJ:23-取石子(一)
时间限制:3000 ms | 内存限制:65535 KB 难度:2描述 一天,TT在寝室闲着无聊,和同寝的人玩起了取石子游戏,而由于条件有限,他/她们是用旺仔小馒头当作石子。游戏的规则是这样的。设有一堆石子,数量为N(1<=N<=1000000),两个人轮番取出其中的若干个,每次最多取M个(1<=M<=1000000),最先把石子取完者胜利。我们知道,TT和他/她的室友都十分的聪明,那么如果原创 2017-06-21 23:03:44 · 1014 阅读 · 0 评论 -
NYOJ:58-最少步数
最少步数 时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 这有一个迷宫,有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原创 2017-06-25 09:51:38 · 1237 阅读 · 0 评论 -
NYOJ:57-6174问题
6174问题 时间限制:1000 ms | 内存限制:65535 KB 难度:2描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经原创 2017-06-25 09:49:18 · 1309 阅读 · 0 评论 -
NYOJ:56-阶乘因式分解(一)
阶乘因式分解(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给定两个数m,n,其中m是一个素数。将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。输入 第一行是一个整数s(0< s<=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m。 输出 输出m的个数。 样例输入 2 100 5 16 2 样例输出原创 2017-06-25 09:42:27 · 1158 阅读 · 0 评论 -
NYOJ:53-不高兴的小明
不高兴的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 小明又出问题了。妈妈认为聪明的小明应该更加用功学习而变的更加厉害,所以小明除了上学之外,还要参加妈妈为他报名的各科复习班。另外每周妈妈还会送他去学习朗诵、舞蹈和钢琴。但是小明如果一天上课超过八个小时就会不高兴,而且,上得越久就会越不高兴。假设小明不会因为其它事不高兴,并且她的不高兴不会持续到第二原创 2017-06-25 09:39:25 · 1227 阅读 · 0 评论 -
NYOJ:51-管闲事的小明
管闲事的小明 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。 已知任一区域原创 2017-06-25 09:37:20 · 1168 阅读 · 0 评论 -
NYOJ:8-一种排序
时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复;还知道这个长方形的宽和长,编号、长、宽都是整数;现在要求按照一下方式排序(默认排序规则都是从小到大);1.按照编号从小到大排序2.对于编号相等的长方形,按照长方形的长排序;3.如果编号和长都相同,按照长方形的宽排序;4.如果编号、长、宽都相同,就只保留一个长方原创 2017-06-21 22:06:51 · 1161 阅读 · 0 评论 -
NYOJ:13-Fibonacci数
时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 无穷数列1,1,2,3,5,8,13,21,34,55…称为Fibonacci数列,它可以递归地定义为 F(n)=1 ………..(n=1或n=2) F(n)=F(n-1)+F(n-2)…..(n>2) 现要你来求第n个斐波纳奇数。(第1个、第二个都为1) 输入 第一行是一个整数m(m<5)表示共有m组测试数原创 2017-06-21 22:14:02 · 1040 阅读 · 0 评论 -
NYOJ:14-会场安排问题
时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。 输入 第一行是一个整型数m(m<100)表示共有m组测试数据。 每组测试数据的原创 2017-06-21 22:48:08 · 1051 阅读 · 0 评论 -
NYOJ:17-单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入 第一行一个整数0< n<20,表示有n个字符串要处理 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出 输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmn原创 2017-06-21 22:49:29 · 1042 阅读 · 0 评论 -
NYOJ:19-擅长排列的小明
时间限制:1000 ms | 内存限制:65535 KB 难度:4描述 小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。 输入 第一行输入整数N(1< N<10)表示多少组测试数据, 每组测试数据第一行原创 2017-06-21 22:53:34 · 1064 阅读 · 0 评论 -
NYOJ:22-素数求和问题
时间限制:3000 ms | 内存限制:65535 KB 难度:2描述 现在给你N个数(0< N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。 输入 第一行给出整数M(0< M<10)代表多少组测试数据 每组测试数据第一行给你N,代表该组测试数据的数量。 接下来的N个数为要测试的数据,每个数小于1000 输出 每组测试数据结果占一行,输出给出的测试数据的原创 2017-06-21 22:58:55 · 1015 阅读 · 0 评论 -
NYOJ:49-开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分原创 2017-06-23 01:02:12 · 1127 阅读 · 0 评论 -
NYOJ:50-爱摘苹果的小明
爱摘苹果的小明时间限制:1000 ms | 内存限制:65535 KB 难度:1描述 小明家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,小明就会跑去摘苹果。小明有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及小明把手伸直的时候能够达到的最大高度,请帮小明算一下她能够摘到的苹果的数目。假设她碰到苹原创 2017-06-23 01:03:38 · 1352 阅读 · 0 评论 -
NYOJ:39-水仙花数
水仙花数时间限制:1000 ms | 内存限制:65535 KB 难度:0描述 请判断一个数是不是水仙花数。 其中水仙花数定义各个位数立方和等于它本身的三位数。 输入 有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000) 输入0表示程序输入结束。 输出 如果n是水仙花数就输出Yes 否则输出No 样例输入 153 154 0 样例输出 Yes N原创 2017-06-23 00:55:43 · 1098 阅读 · 0 评论 -
NYOJ-5:Binary String Matching
难度:3描述 Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ wh原创 2017-06-21 00:43:06 · 1171 阅读 · 0 评论 -
NYOJ-2:括号配对问题
描述 现在,有一行括号序列,请你检查这行括号是否配对。 输入 第一行输入一个数N(0< N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有”[“,”]”,”(“,”)”四种字符 输出 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对原创 2017-06-21 00:38:48 · 1203 阅读 · 0 评论 -
NYOJ-1 A+B问题
描述 此题为练手用题,请大家计算一下a+b的值. 输入 输入两个数,a,b 输出 输出a+b的值 样例输入 2 3 样例输出 5#include<stdio.h>int main(){int a,b;scanf("%d%d",&a,&b);printf("%d\n",a+b);原创 2017-06-20 13:11:11 · 1269 阅读 · 0 评论 -
NYOJ:69-数的长度
数的长度 时间限制:3000 ms | 内存限制:65535 KB 难度:1描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?输入 首行输入n,表示有多少组测试数据(n<10) 随后n行每行输入一组测试数据 N( 0 < N < 1000000 ) 输出 对于每个数N,输出N!的原创 2017-06-30 00:32:26 · 1140 阅读 · 0 评论 -
NYOJ:70-阶乘因式分解(二)
阶乘因式分解(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 给定两个数n,m,其中m是一个素数。 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。 注:^为求幂符号。输入 第一行是一个整数s(0< <=100),表示测试数据的组数 随后的s行, 每行有两个整数n,m。 输出 输出m的个数 样例输入 3 100 5 1原创 2017-06-30 00:33:23 · 1230 阅读 · 0 评论 -
NYOJ:68-三点顺序
三点顺序 时间限制:1000 ms | 内存限制:65535 KB 难度:3描述 现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 如: 图1:顺时针给出 图2:逆时针给出 a a 三角形原创 2017-06-30 00:31:28 · 1203 阅读 · 0 评论 -
NYOJ:67-三角形面积
#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){ double a,b,c,p,area; int x1,y1,x2,y2,x3,y3; while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF&&x1!=0||x2!=0||x3!=0|原创 2017-06-30 00:29:08 · 1215 阅读 · 0 评论 -
NYOJ:66-分数拆分
分数拆分 时间限制: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 样例输出 1/2=1/6+1原创 2017-06-30 00:27:50 · 1208 阅读 · 0 评论 -
NYOJ:65-另一种阶乘问题
另一种阶乘问题 时间限制:3000 ms | 内存限制:65535 KB 难度:1描述 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧! 现在你的任务是求出1!!+2!!……+n!!的正确值(n<=20)输入 第一行输入一个a(a<=2原创 2017-06-30 00:26:15 · 1295 阅读 · 0 评论 -
NYOJ:64-鸡兔同笼
鸡兔同笼 时间限制:3000 ms | 内存限制:65535 KB 难度:1描述 已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。输入 第一行输入一个数据a,代表接下来共有几组数据,在接下来的(a<10) a行里,每行都有一个n和m.(0< m,n<100) 输出 输出鸡兔的个数,或者No answer原创 2017-06-30 00:24:43 · 1210 阅读 · 0 评论 -
NYOJ:63-小猴子下落
小猴子下落 时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否则往原创 2017-06-30 00:23:23 · 1166 阅读 · 0 评论 -
NYOJ-4:ASCII码排序
难度:2描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。 输入 第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。 输出 对于每组输入数据,输出一行,字符中间用一个空格分开。 样例输入 2 qwe asd 样例输出 e q w a d s代码:#include<stdio.原创 2017-06-21 00:41:36 · 1325 阅读 · 0 评论 -
NYOJ:6-喷水装置(一)
时间限制:3000 ms | 内存限制:65535 KB 难度:3描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0#include<iostream>#include<math.h>#include<algorithm>using namespace std;bool cmp(double a,do原创 2017-06-21 21:59:38 · 1134 阅读 · 0 评论