《2022年ACM程序设计与竞赛作业要点.docx》由会员分享,可在线阅读,更多相关《2022年ACM程序设计与竞赛作业要点.docx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ACM程序设计与竞赛作业1 .采药.金字塔问题3毛毛虫问题. Hamming Problem4 .字符串正反连接.去掉空格5 .成绩转换.金块问题9工资问题.“水仙花数”问题10 .大小写转换.取数游戏11 .整除问题.警察抓小偷12 .n!13 .汉诺塔问题.猴子吃桃问题(递归)14 . A4-B for Input-Output Practice . A+B for Input-Output Practice (EQ15 . A+B for Input-Output Practice (HI). A+B for Input-Output Practice (TV)For each thre
2、e prime numbers pl, p2 and p3, let*s define Hamming sequence Hi(pl, p2, p3), i=l,. as containing in increasing order all the natural numbers whose only prime divisors are pl, p2 or p3.For example, H(2, 3, 5) = 2, 3, 4, 5, 6, 8, 9, 10,12,15,16,18, 20, 24, 25, 27,.So H5(2, 3, 5)=6.输入In the single line
3、 of input file there are space-separated integers pl p2 p3 i.输出The output file must contain the single integer - Hi(pl, p2, p3). All numbers in input and output are less than 1CT18.样例输入样例输出6#include stdio.hint minx(int pl,int p2,int p3)/ 定义有参函数 minx;|int min二pl;if(p2min)min=p2;min=p3;return min;求pl,
4、p2,p3的最小值;int mainQ(int pl,p2,p3,t,i;int a,b,c;char num 10000;scanf(%d%d%d%dn,&pl,&p2,&p3,&t);a=b=c=0;num0 = 1;for(i=l;i=t;i+4-)numi=minx(pl*numa,p2*numb,p3*num|c);/调用 minx 函数;if(numi=pl*numa)a+;if(numi=p2*numb)b+;if(numi=p3*numc)c+;求所有的能被pl,p2,p3整除口勺数;printf(H%dnn,numt);return 0;心得:运用动态规划的思想,定义一种一维
5、数组,把所有符合条件的数按次序存进 一维数组中,这个编程运用了函数调用日勺措施求三个数日勺最小值,然后把这个最小 值存进一维数组中,每次存进一种数,下次都会用存进去H勺这个数求解下一种数, 进行循环。5问题B:字符串正反连接时间限制:1 See内存限制:128 MB提交:68处理:42网口题目描述所给字符串正序和反序连接,形成新串并输出输入任意字符串(长度V二50)输出字符串正序和反序连接所成的新字符串样例输入123abe样例输出123abccba321#include#includevoid mainQchar a50;定义一种字符串;int i,f;while(scanf(”%s”,&a)
6、!=EOF) 实现多行实例输入;(f=strlcn(a);把字符串口勺长度值赋给f;for(i=0;i=0;i)(print/%心叫);/把字符串反序输出;printf(,nH);)心得:定义一种字符串,运用strlenO函数获取字符串的长度值f,首先用for循环, 把这个字符串正序输出,然后再用for循环对这个字符串进行反序输出,这里重要考 察了输入输出。6问题C:去掉空格时间限制:1 Sec内存限制:128 MB提交:27处理:4DDD题目描述读入某些字符串,将其中的空格去掉。输入输入为多行,每行为一种字符串,字符串只由字母、数字和空格构成,长度不超过80o输入以End of file结束
7、。输出对于每行输入,输出转换后的字符串。样例输入Hello World 1 23Nice to meet youJabc样例输出HelloWorld 123Nicetomeetyou abc提醒 用scanf是不能读入一行有空格的字符串日勺,用gets吧。用“gets(str) !二NULL”可 以判断输入与否结束,假如此条件为假(即gets(str) = NULL),那么表达输入结束(对 于此题)。#include#includcvoid rnainQint i,f;char a90;定义一种字符串;while(gets(a)!=NULL)f=strlcn(a);把字符串的长度值赋给f;fo
8、r(i=0;if;i+)(printf(”c”闵i+1);/去掉空格; i=i+l;)elseprintf(c”,ai);没有空格,直接输出;printf(nnM);心得:这里也是重要考察输入输出问题,首先也是定义了一种字符串,用strlenO函 数获得字符串的长度K进行f次循环,判断这个字符串与否有空格?假如有把数组 中的每个数往后进一位,即去点空格,假如没有直接输出。7问题D:成绩转换时间限制:1 See内存限制:128 MB提交:78处理:30网口题目描述输入一种百分制的成绩3将其转换成对应日勺等级,详细转换规那么如下:90100 为 A;8089为B;7079为C;6069为D;059
9、为E;输入输入数据有多组,每组占一行,由一种整数构成。输出对于每组输入数据,输出一行。假如输入数据不在。10。范围内,请输出一行:“Score is error!w。样例输入56 67100123样例输出EDAScore is error!提醒#includeint main。int x;while(scanf(%d”,&x)!=EOB 实现多行实例输入;if(x60)printf(En”);else if(x70)printf(Dn”);else if(x80)printf(nCnn);else if(x90) printfCBnn);else if(x=2),最优秀日勺雇员得到其中最重的一
10、块, 最差的雇员得到其中最轻的一块。假设有一台比较重量H勺仪器,但愿用至少的比较 次数找出最重和最轻日勺金块。输入输入共两行, 第一行输入金块的数量N100000;第二行N金块的重量,用空格间隔。输出两个数用空格分开,最重金块 最轻金块样例输入537964样例输出93#includeint mainQint n,al00000;int max,min,i;“出血做2(”十,&0!=。丹/实现多行实例输入;(for(i=0;imax)max=ai;/求最最重的金块;fbr(i=l;in;i+)22 ,埃及分数23 .完数. Fibbonacci Number _Hdu 207024 . Pake
11、ts.不要 62 _Hdu 20891问题B:采药时间限制:1 Sec内存限制:128 MB提交:87处理:72题目描述辰辰是个很有潜能、天资聪颖口勺孩子,他的梦想是成为世界上最伟大的医师。为此, 他想拜附近最有威望口勺医师为师。医师为了判断他的资质,给他出了一种难题。医 师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有某些不一样的 草药,采每一株都需要某些时间,每一株也有它自身的价值。我会给你一段时间, 在这段时间里,你可以采到某些草药。假如你是一种聪颖H勺孩子,你应当可以让采 到的草药H勺总价值最大。”假如你是辰辰,你能完毕这个任务吗?输入输入的第一行有两个整数T (1 T10
12、00)和M (1M 100) , T代表总共可以 用来采药口勺时间,M代表山洞里口勺草药的数目。接下来|勺M行每行包括两个在1到 100之间(包括和100)的整数,分别表达采摘某株草药口勺时间和这株草药的价值。min=ai;”/求最轻的金块;printf(n%d %dnn,max,min);)return 0;心得:这题重要运用分治算法啊思想,把一种大问题提成一种个小日勺子问题去求解, 这个题目是经典的二分法问题,把这个题提成两个小问题,即求最重日勺和求最轻日勺 金块,首先定义了一种一维数组,把所有金块的质量存入其中,把数组的初始值赋 给最重H勺和最轻H勺金块,然后运用循环对数组中每个金块H勺
13、质量与金块H勺初始值进 行比较,求H勺最重和最轻的金块,然后输出。9问题B:工资问题时间限制:1 Sec内存限制:128 MB提交:121处理:74non题目描述某单位给每个职工发工资(精确到元),为了保证不要临时兑换零钱,且取款的张 数至少,取工资前要记录出所有职工的工资所需多种币值(100, 50, 20, 10, 5, 2, 1元共7种)的张数,请编程完毕。输入输入一种工资数10000元输出输出各个币种的张数,没有的用0替代,中间用空格分开样例输入173样例输出1110011#includeint mainQint j,z,a;int b7=100,50,20,10,5,2,1;把所有币
14、值按从从大到小的次序存到一位数组中;int s7 = ();/定义一种一位数组,元素值全为0;scanf(%d,&z);for(j=0;j7;j+)(a=z/bj;sQ=a;z=z-a*bj; 求需要各个币值的个数;printf(H%dH,sO);for(j=l;j7;j+)printf(M %d,sj);输出需要各个币值的个数;return 0;心得:这个题重耍运用贪婪算法H勺措施,运用可行的方略,求出可行解的一种解元 素由所有解元素合成问题的一种可行解。要想获得的张数至少,可以先考虑币值最大 的进行分发,然后再取更小现金口勺币值。依次取之。首先定义一种一维数组,把币 值从大到小存进去,运用
15、一循环,把每次算的钱数口勺成果,依次对数组的币值进行 取整。然后依次存入数组输出。10问题C: “水仙花数”问题1时间限制:1 Sec内存限制:128 MB提交:138处理:75DDD题目描述判断一种数与否为“水仙花数”,所谓“水仙花数”是指这样日勺一人数:其各位数字口勺立 方和等于该数自身。例如:371是一种“水仙花数”,371 =3人3+7八3+13.输入一种三位数输出I或者0(1代表此数为水仙花数,0代表此数不是水仙花数)样例输入371样例输出1#includevoid mainQ(int n,x,y,z;scanf(H%dM,&n);x=n/100;求三位数口勺百位数字;z=n%10;
16、求三位数日勺个位数字;y=(n-(x*100+z)/10;/求三位数的十位数字;if(n=x*x*x+y*y*y+z*z*z)printf(%dM,l);elseprintf(“d”,0);/判断这个三位数与否为水仙花数,是输出1,否输出2;)心得:首先,输入一种三位数,运用对这个数取整,取余,运用数学公式,分别算 出它日勺百位,十位,和个位的数字,然后判断这三个数字日勺平方和与否等于这个三 位数,假如是,输出1,假如不是输出0.11问题E:大小写转换时间限制:1000 Sec内存限制:65536 MB提交:182处理:116UUU题目描述读入某些字符串,将其中的小写字母转成大写字母(其他字符
17、不变)。输入输入为多行,每行为一种字符串,字符串只由字母和数字构成,长度不超过8()。输 入以End of file结束。输出对于每行输入,输出转换后的字符串。样例输入HelloICPC12345abcde样例输出HELLOICPC12345ABCDE#include#includevoid mainQint j;char string80;/定义一种字符串;while(scanf(s”,&string)!= EOF) 实现多行实例输入;for(j=0;j=,a,)&(stringj=,z!)string。尸string。-32;/实现字母大小写转换;printf(n%snn,string);
18、心得:这个题目重耍考察输入输出,尚有大小写转换问题,首先还是定义一种字符 串,用while(scanf(”s”,&strin初=EOF)语句实现多行实例输入,对这个字符串进行循 环,假如这个字符串有大写的话,转化成小写的,假如有小写口勺话,那么转化成大 写电12问题B:取数游戏时间限制:1 Sec内存限制:128 MB提交:46处理:39non题目描述有2个人轮番取2n个数中日勺n个数,所取数之和大者为胜,请编写算法,让先取数 者胜,模拟取数过程。输入输入两行,第一行一种整数NUOOOOO;第二行N个数,用空格分开。输出输出取胜人取数和。失败人取数的和,空格分开。样例输入6123456样例输出
19、129#includeint main()(int n,i,sum l,sum2,al OOOOO;whilc(scanf(”%d”,&n)!二EOF) 实现多行实例输入;(suml=sum2=0;for(i=0;in;i+4-)scanff%d,&ai);for(i=0;in;i=i+2)suml=sumH-ai;for(i=l;in;i=i+2)sum2=sum2+ai;/隔数取数求和:suml ,sum2 ;printf(M%d %dnn,suml,sum2);elseprintf(%d %dn,sum2,sum 1);次序输出取胜人取数和。失败人取数和; return 0;)心得;这题
20、重要运用贪心算法的思想,要想先取数人获胜,就得让这个人每一步都尽 量获得最大日勺数,这样他取数口勺和才会总体不小于后取数日勺那个人的取数和。首先 定义一种一维数组,把要获得数从小到大的次序放在里面,然后一种人从第一种按 照隔一种数取,求和suml;另一种人从第二个按照隔一种人取,求和sum2,比较sum1 和sum2 H勺最大值,输出。13问题C:整除问题时间限制:1 Sec内存限制:128 MB提交:70处理:44(网题目描述编写算法对输入的一种整数,判断它能否被3, 5, 7整除,并输出如下信息之一:能同步被3, 5, 7整除;能被其中两个数(要指出哪两个)整除;能被其中一种数(要指出那一
21、种)整除;不能被3, 5, 7任一种整除;输入输入一种整数Viooooo;输出假如都能整除输出“油”假如都不能整除输出“ none假如能被3和5整除那么输出“3 5”。中间有一种空格,注意按由小到大输出。样例输入35样例输出57#includevoid mainQ(long n; int k;scanf(n%d,&n);k=(n%3=0)+(n%5=0)*2+(n%7=0)*4);/判断整数与否能被 2,3,5 整除;switch (k)(case 7:printf(naH);break;case 6:printf(n5 7H);break;case 5:printf(*3 7);break;
22、case 4:printf(H4H);break;case 3:printf(n3 5n);break;case 2:printf(n5n);break;case 1 :printf(H3);break;case O:printf(nnoncn);brcak; 用switch语句输出成果;)心得:这题重要考察输入输出问题,首先输入一种整数,运用语句 k=(n%3=0)+(n%5=0)*2+(n%7=0)*4),判断这个数能否被 2,3,5 整除,用 switch 语 句输出所有也许发生日勺成果,然后输出题目中所规定输出日勺成果,其中用switch语 句起到了优化算法的作用。14问题A警察抓小偷
23、时间限制:1 See内存限制:128 MB提交:115处理:88nnn题目描述警察局抓了 a,b,c,d,4名小偷嫌疑犯,其中只有一种人是小偷,审问中,a说:我不是 小偷,b说:c是小偷,c说:小偷肯定是d, cm: c在冤枉人。目前已经懂得4个 人中3人说日勺是真话,一人说的是假话,问究竟谁是小偷。输入输出小偷是c 样例输入样例输出 输出输出只包括一行,这一行只包括一种整数,表达在规定日勺时间内,可以采到的草药 的最大总价值。样例输入70 371 10069 11 2样例输出3#include stdio.hvoid main。(inta1021002=0;int t,tlscanff, %
24、)d%d ” ,& t,& m);scanf(n%d%d,&tlfor(il =1 ;il=tl)akil=ml;k+;小偷是C#includevoid mainQ(int x;for(x=l;xV=4;x+)执行 4 次循环;(3=1)+(*二=3)+3=4)+(贝二4)二二3)判断与否有三个人说真话的状况; printf(,%c,64+x);心得:这个题目重要考察把文字信息转化为数字信息,即信息数字化,把A, B, C, D当作1, 2, 3, 4; x定义为小偷,然后把A, B, C, D四人所说R勺话变成数字语 言,判断当他们四个人有三个人说真话的状况,然后以把数字变成字母输出。15问
25、题B: n!时间限制:1 Sec内存限制:128 MB提交:262处理:162UUU题目描述输入一种整数N,输出它的阶乘。输入输入一种整数V20;输出输出它的阶乘样例输入5样例输出120提醒#includeint mainQint add(int m);对add函数进行申明;int n,sum;scanf(H%dH,&n);sum=add (n);printf(%)dn,sum);return 0;int add(int n)定义 add 函数(int f;if (n=0| |n=l)(f=l;/判断当n等于0和1这两种状况;elsef二n*add(n-l);/调用 add 函数求值; ret
26、urn f;心得:这里重耍运用函数的递归调用,首先用if对输入R勺数进行判断,看与否为1 和(),假如是,那么输出其阶乘等于1 ,假如不是那么调用函数f=n*add(n-l)进行求值, add函数总共被调用了 n次,求得最终日勺成果,输出。16汉诺塔问题时间限制:1 See内存限制:128 MB提交:224处理:138题目描述把N个盘子从A柱子借助B柱子移到C柱子,规定每次只能移动一种盘子,并且小 盘子不能放到大盘子上。问怎样移动。输入输入盘子日勺个数N (=10)输出输出移动的次数。样例输入3样例输出7提醒#include int mainQint i,),n,sum;scanf(d”,&n
27、);尸1;if(n!=l)清除盘子H勺个数为1的状况;(for(i=l;i=n;i+)(尸 j*2;)sum=j-1;/求盘子移动的次数;)elsesum=l;printf(H%dH,sum);return 0;)心得:这题重要考察循环与递归问题,先假设盘子的个数,取几种特殊值,找出移 动盘子次数口勺规律。这个编程首先判断盘子个数,假如是1,那么输出1次,假如不是 1,执行n次循环,求得j,然后求出移动盘子的次数j-1,输出。17问题D:猴子吃桃子问题(递归)时间限制:1 Sec内存限制:128 MB提交:98处理:87DDD题目描述一只猴子摘了假设干桃子,每天吃既有桃子H勺二分之一多一种,到
28、第10天时就只有一种桃子了,求本来有多少个桃。输入输出输出本来日勺桃子数样例输入样例输出提醒#includeint mainQint i,x=l;for(i=9;i();i-)执行 9 次循环;x=(x+l)*2;/求每天桃子H勺个数;printf(n%dnn,x);return 1;心得:这个题目运用数学中倒推口勺措施求得,先求出第10天桃子日勺个数,然后再求 出前一天桃子口勺个数,直到求出第1天桃子的个数,找出其规律。设桃子的个数为x,那么每天剩余桃子口勺个数满足公式x=(x+l)*2,再用一种for循环求出本来日勺桃子数。18 问题 A: A+B for Input-Output Pra
29、ctice (I)时间限制:1 See内存限制:128 MB提交:402处理:183网口题目描述Your task is to Calculate a + b,Too easy?! Of course! I specially designed the problem for acm beginners.You must have fbund that some problems have the same tides with this one, yes, all these problems were designed for the same aim.输入The input will c
30、onsist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.输出For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input样例输入1 510 20样例输出30提醒#indudevoid mainQint a,b,s;while(scan
31、f(”d%d”,&a,&b)!=EOF) 实现多行实例输入;(s=a+b;/求a和b附和;printf(%dn,s);心得:这个题重要考察了输入和输出问题,目日勺是计算整数a和b日勺和,首先用 while(scanf(”d%d”,&a,&b)!=EOF)语句实现多行实例输入,然后求出a和b的和,输 出。19A+B for Input-Output Practice (II)时间限制:1 Sec内存限制:128 MB提交:310处理:179DDD题目描述Your task is to Calculate a + b输入Input contains an integer N in the firs
32、t line, and then N lines follow. Each line consists of a pair of integers a and b, separated by a space, one pair of integers per line.输出For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input样例输入21 510 20样例输出630提醒n
33、un#includevoid main()int a,b,n;scanf(”%)d,&n);while(n-) /限制求和的次数;(scanf(%d%d,&a,&b);/输入 a,b;printf(dn”,a+b);/求 a,b 的和;)心得:这个题目重要考察了输入输出问题,题目规定第一行输入要输入要计算和H勺 数量,用whilc(n-)语句满足了题目H勺规定,即执行n次,然后就是输入a和b,接着 求出和,输出。20 问题 C: A+B for Input-Output Practice (III)时间限制:1 Sec内存限制:128 MB提交:314处理:169DOD题目描述Your tas
34、k is to Calculate a + b.输入Input contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be processed.输出For each pair of input integers a and b you should output the s
35、um of a and b in one line, and with one line of output for each line in input样例输入 1 510 2000样例输出630 #includevoid rnainQ(int a,b;whilc(scanf(%d%d”,&a,&b)!=EQF&!(a=()&b=()/*实现多行实例输入,当 a,b 都 为0时结束*/printf(dn”,a+b);求 a,b 附和;for (i=2;iml+ak-lil-tl)akil=ak-lil; /采完总价值下降 else咽值得采的状况;k+;printf(n%dH,amt);)心得
36、:这是一种动态规划的题目,首先定义一种二维数组,根据草药H勺性价比,优 先采用较高H勺草药,假如时间不够,那么减少性价比继续采用草药,直至时间结束, 根据采集H勺草药计算它的最大值,这题通过比较算出也许采的状况,和不能采H勺状 况,假如能采,那再判断值不值得采,得出最优解。心得:这个题目也是输入输出问题,目的也是求出a和b日勺和,然后按规定输入输出, 对于输入:while(scanf(n%d%dn,&a,&b)!=EOr&!(a=0&b=0)15fflii!ll 行实例输入,假如输入0 0,那么结束,然后求得a和bR勺和,输出。21 问题 D: A+B for Input-Output Pra
37、ctice (TV)时间限制:1 See内存限制:128 MB提交:287处理:166Dnn题目描述Your task is to Calculate the sum of some integers.输入Input contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this test case is not to b
38、e processed.输出For each group of input integers you should output their sum in one line, and with one line of output for each line in inputSample Input样例输入4 10 2 3 405 11 2 8 5 50样例输出5531提醒#includevoid rnainQint a,s;int n=l;while(n!=0)scanf(H%du,&n);if(n=O)break; /判断n与否为断0,是结束,不是执行下面语句;s = 0;for(inti
39、=0;ivn;i+)/执行 n 次循环;scanf(%d,&a);s=s+a; 每次循环求和;printf(n%dnH,s);)心得:同样,这个题目也是重要考察了输入输出问题,计算某些整数H勺和,并按指 定的格式输出,首先输入某些整数判断与否都为(),假如是,那么结束,假如不是那么执 行循环,把所有输入日勺整数相加,然后输出。22问题B:埃及分数时间限制:1 See内存限制:128 MB提交:21处理:11nnn题目描述设计一种算法,把一种真分数表达为至少埃及分数之和的形式,所谓埃及分数, 是指分子为1日勺分数。如 7/8=l/2+l/3+l/24o输入输入两个整数,第一种表达分子,第二个数表
40、达分母。输出输出埃及分数之和,按分母有小到大的次序,中间用空格分开。样例输入78样例输出2 3 24提醒#includeint main。(int a,b,c;while(scanf(n%d %d”,&a,&b)!二EOF)实现多行实例输入;if(a=l | |b%a=0)printf(dn”,b/立/假如这个数为1或分子为1,输出分母日勺值;while(a!=1)c=b/a+l;a=a*c-b;b=b*c;printf(%d ”,c);/通过公式求出埃及分数。if(b%a=0| | a=l)printf(n%dnn,b/a);a=l; return 0;心得:首先通过while语句实现多行实
41、例输入,首先输入这是分数的的分子分母,判 断这个数与否为1或这个数的分子为1,假如是,直接输出分母日勺值;接下来用一 while循环,通过求公式依次算出埃及数,然后输出,用每次计算口勺成果判断分子与 否能整除分母或分子为一,假如是,直接输出整除后成果。23问题A:完数时间限制:1 Sec内存限制:128 MB提交:192处理:70UUU题目描述完数的定义:假如一种不小于1的正整数口勺所有因子之和等于它口勺自身,那么称这个 数是完数,例如6, 28都是完数:6=1+24-3; 28=1+2+4+7+14。此题的任务是判断两个正整数之间完数的个数。输入输入数据包括多行,第一行是一种正整数3表达测试
42、实例的个数,然后就是n个测 试实例,每个实例占一行,由两个正整数numl和num2构成,(lVnuml,num2vl0000)。 输出对于每组测试数据,请输出numl和mim2之间(包括num 1和num2)存在的完数个 数。样例输入22557样例输出01提醒 #includeVstdio.hint mainQ(int n,numl,num2,sum,m,i;int j,k;“小混做义砒-芈&0!二。?实现多行实例输入;for(i=0;in;i+)执行 n 次循环;(scanf(n%d %d”,&numl,&num2);/输入两个整数;m=0;for(j=numl;jv=num2;j+)执行
43、num2-numH-l 次循环;sum=O;fbr(k=l;kj;k+)(if(j%k=()/判断numl和num2之间日勺数与否能被k整除;sum=sum+k;)if(sum=j)m+;/假如是完数,记录其个数;printf(,%dnn,m);return 0;)心得:这个题重要考察了输入输出和循环问题,用while语句实现多行输入,首先输 入两个数,判断这两个数之间H勺数(包括这两个数)是不是完数,假如是完数,那么 记录这两个数之间完数H勺个数,然后输出。24 问题 C: Fibbonacci Number _Hdu 2070时间限制:1 Sec内存限制:128 MB提交:291处理:164DDD题目描述Your objective for this quest