
NYOJ(c语言版)
Coco xu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小值
描述输入N个数,M次查询。每次查询给出一个数x。 要求:每次查询输出前x个数中第i小的数。(i为第i次查询)你可以假设M ,Xi 输入Line0:TLine1: N,MLine2…LineN+1:num1,......,numNLineN+2…LineN+2+M:x1,……,xMN 输出每次查询输出前原创 2017-08-21 19:33:48 · 277 阅读 · 0 评论 -
九九乘法表
小时候学过的九九乘法表也许将会扎根于我们一生的记忆,现在让我们重温那些温暖的记忆,请编程输出九九乘法表.现在要求你输出它的格式与平常的 不同啊! 是那种反过来的三角形啦,具体如下图:每两个式子之前用一个空格 隔开。。。输入第一有一个整数N,表示有N组数据(N<10)接下来由N行,每行只有一个整数M(1输出对应每个整数M,根据要求输出乘法表的前N行,具体格式参见输入输出样例和上图.每两组原创 2017-07-25 09:13:21 · 596 阅读 · 0 评论 -
小光棍数
描述最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数。他已经知道了第一个小光棍数是471,471的三次方是104487111,现在他想知道第m(m输入有多组测试数据。第一行一个整数n,表示有n组测试数据。接下来的每行有一个整数m。输出输出第m个小光棍数。样例输入11样例输出471#includeint main()原创 2017-07-25 09:01:25 · 546 阅读 · 0 评论 -
阶乘因式分解
描述给定两个数m,n,其中m是一个素数。将n(0输入第一行是一个整数s(0<s<=100),表示测试数据的组数随后的s行, 每行有两个整数n,m。输出输出m的个数。样例输入2100 516 2样例输出2415#includeint main(){ int a,s,m,n; scanf("%d",&a); while(a--) { s=0; sca原创 2017-07-24 21:15:55 · 215 阅读 · 0 评论 -
十进制转换为二进制
#includeint main(){int m, a[100], i;while (scanf("%d", &m) != EOF){i = 0;if (m == 0)printf("0");while (m){a[i++] = m % 2;m = m / 2;}for (int j = i-1; j >= 0; j--){printf("%d", a[j]);}原创 2017-07-24 21:40:28 · 339 阅读 · 0 评论 -
a letter and a number
描述we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;Give you a letter x and a number y , you should output the result of y+f(x).输入On the first line, contains a number T(0原创 2017-07-24 17:24:30 · 281 阅读 · 0 评论 -
鸡兔同笼
描述已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡和兔的数目,如果无解,则输出“No answer”(不要引号)。输入第一行输入一个数据a,代表接下来共有几组数据,在接下来的(aa行里,每行都有一个n和m.(0输出输出鸡兔的个数,或者No answer样例输入214 3210 16样例输出12 2No answer#inclu原创 2017-07-22 20:03:26 · 238 阅读 · 0 评论 -
排序与去重
描述ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(0输入第一行输入整数T(1<T<10)表示多少组测试数据,每组测试数据包括2行,第1行为1个正整数,表示所生成的随机数的个数:N(0<N≤100)第2行有N个用空格隔开的正整数,为所产生的随机数。(随机数为题目给定的,不需要ACMer生成)输出输出原创 2017-07-24 19:26:53 · 293 阅读 · 0 评论 -
另一种阶乘问题
描述大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!现在你的任务是求出1!!+2!!......+n!!的正确值(n输入第一行输入一个a(a接下来a行各行输入一个n.输出各行输出结果一个整数R表示1!!+2!原创 2017-07-22 20:55:38 · 246 阅读 · 0 评论 -
括号配对问题
描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes#includeint main(){int n;char c,s[10001],原创 2017-07-22 11:36:15 · 148 阅读 · 0 评论 -
小学生算数
#includeint main(){int m,n;while(~scanf("%d%d",&m,&n)&&m&&n){int count=0;if((m%100)%10+(n%100)%10>9) count++;if((m/10)%10+(n/10)%10>9||(m/10)%10+(n/10)%10==9&&count==1) count++;if((m原创 2017-07-24 15:21:32 · 249 阅读 · 0 评论 -
无主之地
描述子晓最近在玩无主之地1,他对这个游戏的评价不错,结合了FPS与RPG元素,可玩度很高。不过,他发现了一代的任务系统做的不好,任务系统并没有帮他统计清楚哪个区域有多少任务,而且,给任务的时候呢,也比较散乱。比如,在1区域的一个任务点,你领到了4个任务;2区域的一个任务点,你领到了3个任务;游戏一段时间后,你又在1区域另一个任务点个领到了3任务(之前任务没有完成),3区域领到了9个任务……他感觉很原创 2017-07-23 16:21:30 · 242 阅读 · 0 评论 -
字符统计
描述现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。输入第一行输入一个正整数T(0随后T行输入一个字符串s,s长度小于1010。输出每组数据输出占一行,输出出现次数最多的字符;样例输入3abcdbbaajsdhfjkshdfjksahdfjkhsajkf样例输出aaj原创 2017-07-26 09:32:42 · 338 阅读 · 0 评论 -
荷兰国旗
#include#includeint main(){ int m; scanf("%d",&m); getchar(); while(m--) { char str[1005]; int count[3]={0,0,0}; scanf("%s",str); for(int i=0;i<strlen(str);i++) {原创 2017-07-25 10:05:03 · 440 阅读 · 0 评论 -
字符串替换
描述编写一个程序实现将字符串中的所有"you"替换成"we"输入输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束输出对于输入的每一行,输出替换后的字符串样例输入you are what you do样例输出we are what we do#include#includeint main原创 2017-07-27 20:59:52 · 310 阅读 · 0 评论 -
笨小熊
描述笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小熊就认为这是个Lucky Word,这样的单词很可能就是正确的答案。原创 2017-07-27 19:07:28 · 203 阅读 · 0 评论 -
6147问题
描述假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数比如输入1234执行顺序是原创 2017-07-27 15:56:00 · 1148 阅读 · 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#includemain(){ int原创 2017-07-27 14:53:01 · 202 阅读 · 0 评论 -
数数
描述我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有些不同,他们正好和我们相反,是从右向左数的。因此当他看到123时会说“321”。现在有一位德国来的教授在郑州大学进行关于ACM的讲座。现在他聘请你来担任他的助理,他给你一些资料让你找到这些资料在书中的页数。现在你已经找到了对应的页码,要用英文把页码告诉他。为了简化我们的问题,你只需要返回单词的原创 2017-07-27 11:21:04 · 212 阅读 · 0 评论 -
万圣节派对
描述万圣节有一个Party,XadillaX显然也要去凑热闹了。因为去凑热闹的人数非常庞大,几十W的数量级吧,自然要进场就需要有门票了。很幸运的,XadillaX竟然拿到了一张真·门票!这真·门票的排列规则有些奇怪:门票号是由0~6组成的六位数(0~6这几个数字可重用)每一个门票号的每一位不能有三个连续相同的数字(如123335是不行的)每一原创 2017-07-27 10:29:11 · 241 阅读 · 0 评论 -
变态最大值
描述Yougth讲课的时候考察了一下求三个数最大值这个问题,没想到大家掌握的这么烂,幸好在他的帮助下大家算是解决了这个问题,但是问题又来了。他想在一组数中找一个数,这个数可以不是这组数中的最大的,但是要是相对比较大的,但是满足这个条件的数太多了,怎么办呢?他想到了一个办法,把这一组数从开始把每相邻三个数分成一组(组数是从1开始),奇数组的求最大值,偶数组的求最小值,然后找出这些值中原创 2017-07-27 10:19:07 · 193 阅读 · 0 评论 -
The Famous Clock
描述Mr. B, Mr. G and Mr. M are now in Warsaw, Poland, for the 2012’s ACM-ICPC World Finals Contest. They’ve decided to take a 5 hours training every day before the contest. Also, they plan to star原创 2017-07-27 09:18:56 · 289 阅读 · 0 评论 -
兰州烧饼
描述烧饼有两面,要做好一个兰州烧饼,要两面都弄热。当然,一次只能弄一个的话,效率就太低了。有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面。而现在有n个兰州烧饼,至少需要多少分钟才能全部做好呢?输入依次输入n和k,中间以空格分隔,其中1 输出输出全部做好至少需要的分钟数样例输入3 2样例输出3提示如样例,三个兰州烧饼编号原创 2017-07-27 08:52:43 · 392 阅读 · 0 评论 -
矩形的个数
描述在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。给出A,B,计算可以从中找到多少个矩形。输入本题有多组输入数据(输入2个整数A,B(1输出输出找到的矩形数。 样例输入1 23 2样例输出318原创 2017-07-26 16:04:46 · 259 阅读 · 0 评论 -
车牌号
描述茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码。车牌号码由5个字母或数字组成输入第一行是n,代表有n组数据,第二行是m,以下m行是m个车牌号码其中n输出输出注册较早的车牌号样例输入14AA100aa1000o2r4ye2er样原创 2017-07-26 15:33:42 · 402 阅读 · 0 评论 -
A+B问题
描述做了A+B Problem之后,Yougth感觉太简单了,于是他想让你求出两个数反转后相加的值。帮帮他吧输入有多组测试数据。每组包括两个数m和n,数据保证int范围,当m和n同时为0是表示输入结束。输出输出反转后相加的结果。样例输入1234 1234125 1170 0样例输出86421232 #includeint main(){原创 2017-07-23 17:19:56 · 236 阅读 · 0 评论 -
琴键
描述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 scale notes, and each may use major原创 2017-07-23 19:51:44 · 277 阅读 · 0 评论 -
字符排序
#includeint main(){char a,b,c,d;int n;scanf("%d",&n);getchar();while(n--){scanf("%c%c%c",&a,&b,&c); getchar(); if (a>b) {d=a;a=b;b=d;} if (a>c) {d=a;a=c;c=原创 2017-07-22 09:01:23 · 339 阅读 · 0 评论 -
括号配对问题
描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])样例输出NoNoYes#includeint main(){int n;char c,s[10001],原创 2017-07-22 11:38:02 · 209 阅读 · 0 评论 -
Fibonacci数列
描述无穷数列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每次测试数据只有一行,且只有一个整形数n(n输出对每组原创 2017-07-22 14:01:21 · 274 阅读 · 0 评论 -
素数求和
描述现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。输入第一行给出整数M(0每组测试数据第一行给你N,代表该组测试数据的数量。接下来的N个数为要测试的数据,每个数小于1000输出每组测试数据结果占一行,输出给出的测试数据的所有素数和样例输入351 2 3 4 5811 12 13 14 15 16 1原创 2017-07-22 15:17:22 · 273 阅读 · 0 评论 -
素数距离
描述现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0输入第一行给出测试数据组数N(0接下来的N行每行有一个整数M(0输出每行输出两个整数 A B.其中A表示离相应测试数据最近的素数,B表示其间的距离。样例输入原创 2017-07-22 16:14:59 · 269 阅读 · 0 评论 -
1的个数
描述小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?输入第一行输入一个整数N,表示测试数据的组数(1每组测试数据只有一行,是一个整数M(0=输出每组测试输出占一行,输出M的二进制表示中1的个数样例输入3467样例输出123 #includeint main(){ int m;原创 2017-07-23 21:18:31 · 220 阅读 · 0 评论 -
独木舟上的旅行
描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入第一行输入s,表示测试数据的组原创 2017-07-30 19:40:56 · 250 阅读 · 0 评论 -
+-字符串
描述Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。输入多组测试数据每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。输出仅一个整数,输出最少需要操作的次数。如果答案不存原创 2017-07-30 17:38:06 · 348 阅读 · 0 评论 -
寻找最大数(三)
描述给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。求这个新的整数的最大值是多少。输入多组测试数据。每组测试数据占一行,每行有两个数N和K (1 ≤ N≤ 10^18; 0 ≤ K ≤ 100).输出每组测试数据的输出占一行,输出移动后得到的新的整数的最大值。样例输入1990 1100 09090000078原创 2017-07-30 11:36:39 · 218 阅读 · 0 评论 -
寻找最大数(二)
描述请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,比如当n=92081346718538,m=10时,则新的最大数是9888 输入第一行输入一个正整数T,表示有T组测试数据每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输出原创 2017-07-30 15:23:21 · 263 阅读 · 0 评论 -
阶乘之和
描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入2910样例输出YesNo#includeint main(){int m,n,b[10],a=1原创 2017-07-30 11:07:18 · 392 阅读 · 0 评论 -
水仙花数
描述请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数。输入有多组测试数据,每组测试数据以包含一个整数n(100输入0表示程序输入结束。输出如果n是水仙花数就输出Yes否则输出No样例输入1531540样例输出YesNo#includeint main(){int a,b,c原创 2017-07-22 17:32:06 · 214 阅读 · 0 评论 -
交换输出
描述输入n(n输入输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。输出对于每组输入数据,输出交换后的数列,每组输出占一行。样例输入4 2 1 3 45 5 4 3 2 10样例输出1 2 3 41 4 3 2 5#includeint main(){int n,i,a[100],mi原创 2017-07-24 14:55:21 · 165 阅读 · 0 评论