资源描述:
《2012年acm选拔试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、问题1:数士兵汤姆是个小男孩,喜欢收集玩具。在他生日那天,妈妈给他买了一盒玩具士兵作为礼物。盒子里有"(1<=N<=10,000,000)士兵,在他们的制服上有标签编号1到N。数字都写没有前导零。汤姆开始数士兵,但他很快发现,很难数清楚倒底有多少个。他决定只数士兵制服上的标签长度在L到HZ间的士兵人数。包含L和H。(1<=L,H<=8)输入有多组数据,每组输入数据占一行,有三个数字:NLH,每个字之间用空格隔开,N表示盒子里士兵的总数,L表示标签上编号的最小长度,H表示标签上编号的最大长度输出:编号长度在L和II之间的士兵总数.样例输入:100223123样例输出
2、:9022问题2:ADNAsequenceADNAsequenceisasequenceofbases,whereeachbaseisrepresentedwithoneoffourcharacters,A,,1C,'G‘or1T".TwoDNAsequencesareequivalentifoneisthereversecomplementaryoftheother.Thereversecomplementaryofasequencesisthesequencethatresultsfromreadingsbackwardsandreplacingeachbas
3、ewithitscomplementary・'A'and'Tarecomplementaryofeachother,and,C,and,G,arecomplementaryofeachother.Forexample,ifthesequenceis〃ACGTA〃,readingitbackwardswouldbe"ATGCA",andthenreplacingeachbasewithitscomplementarywouldbe"TACGT".So,"TACGT"isthereversecomplementaryof"ACGTA",meaningthatthetw
4、osequencesareequivalent,(dnawillcontainbetween1and50elernents,inclusivc・Eachelementofdnawillcontainbetween1and50characters,inclusive・Eachcharacterofeachelementofdnawillbeoneof'A','C','T','G'.Notwoelementsofdnawillbeequal.)Input:YouaregivenalistofdistinctDNAsequences,dnawillcontainbetw
5、een1and50elementsOutput:PrintthenumberofsequencesinthelargestpossiblesubsetofdnathatcontainsnopairsofequivalentDNAsequences.Sampleinput:ACGCGCGTAGTCGATGCAAC(;TAGCTTACGCGCGTACTGATTAATCGCGATATCGCGATCCCGGGSampleoutput:问题3:黑色星期五13号又是星期五,是一个不寻常的日子吗?13号在星期五比在其他日少吗?为了冋答这个问题,写一个程序来计算在n年里13口落在
6、星期一,星期二,……,星期口的次数。这个测试从1900年1月1日至lj1900+n-l年12月31日。n是一个非负整数且不大于400。这里有一些你要知道的:•1900年1月1日是星期一。•4,6,空和9月有30天。其他月份除了2月有31天。闰年2月有29天,平年2月有28天。•年份可以被4整除的为闰年(1992=4*498所以1992年是闰年,但是1990年不是闰年)•以上规则不适合于世纪年。可以被400整除的世纪年为闰年,否则为平年。所以,1700,1800,1900和2100年是平年,而2000年是闰年。输入:一个整数n。输出:七个在一行,且用一个空格分开的整
7、数,它们代表13日是星期六,星期日,星期一,……,星期五的次数。输入示例20输出示例36333433353534问题4:身份证升位现在大家使用的身份证都是18位号码,其实就在几年以前,身份证都是使用的15位号码。全中国十儿亿人都要将15位的身份证号升至18位,工作量之大可想而知。现在假如你回到了身份证升位的时期,当地一个公安局想请你设计一款软件实现自动升位。升位方法:将原十五位身份证出生年份由原來的2位升至4位(比如81升为1981,假设所有身份证的主人为1900-1999年出生)得到17位身份证码,再根据17位身份证码计算校验码,校验码加至号码尾即得18位身份证
8、号码。校验