NOIP2011普及组解题报告_精品.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NOIP2011普及组解题报告_精品

NOIP2011普及组解题报告  一、数字反转   没得满分只能说明一个问题,你的程序写的太少了。    program reverse;  var  ??s:string;  ??i,sta:longint;   begin  ??assign(input,reverse.in);reset(input);    ??assign(output,reverse.out);rewrite(output);  ?   ??readln(i);    ??str(i,s);  ??sta:=1;    ??if s[1]=-??then  ????begin    ??????write(-);   ??????sta:=2;   ????end;    ??i:=length(s);    ??while (s[i]=0) and (ista) do  ????dec(i);    ??while (i=sta) do   ????begin    ??????write(s[i]);  ??????dec(i);    ????end;    ?   ??close(input);close(output);   end.   ?   二、统计单词个数    考你的基本功,和对程序的理解,尤其是细节上的优化。直接在文章中选出单词,与给定单词长度一致时才比较,函数传参数时也不要传字符串(会很慢的,具体慢多少没试)。   program stat;    var  ??s,p:ansistring;   ??i,j,first,num,len,c,k:longint;    ?  function cmp(x:longint):boolean;    ??var    ????i:longint;    ??begin    ????for i:= 1 to??c do   ???????if s[i] p[x+i-1] then exit(false);   ????exit(true);  ??end;  begin  ??assign(input,stat.in);reset(input);  ??assign(output,stat.out);rewrite(output);   ?   ??readln(s);readln(p);    ??s:=upcase(s);p:=upcase(p);  ??c:=length(s);??len:=length(p);  ??i:=1;?????num:=0;??first:=-1;  ??while (s[i]= )and (i=len) do inc(i);  ??while (i=len) do  ????begin    ??????j:=i+1;  ??????while (p[j] ) and (j=len) do   ????????inc(j);  ??????if (j-i = c) and cmp(i) then  ????????begin    ??????????if first=-1 then first:=i;   ??????????inc(num);  ????????end;  ??????i:=j;??while (p[i]= ) and (i=len) do inc(i);   ????end;  ??if first=-1 then    ????writeln(-1)    ??else writeln(num, ,first-1);    ?    ??close(input);close(output);   end.    ?    ?  三、瑞士轮    实践证明,如果单纯的排序r次,必然结果是超时。事实上只需一次真正意义上的排序以后,在以后的比赛中,按原顺序分成两组,获胜组和失败组,这两组依然是有序的,再把这两组归并成一组,就可以了。总时间复杂度O(N*R)。? 为了方便归并,下面的数组采用了滚动数组。    program swiss_merger;   ?   ?  var  ??n,r,q,i,j,k,c,pwin,plose:longint;    ??s,w,t:array[1..200050] of longint;  ??id:array[0..1,1..200050] of longint;    ?    procedure qsort(n,m:longint);  ??var  ????i,j,k,t:longint;  ?  ??begin   ????i:=n;j:=m;??k:= id[0,(n+m)div 2];  ????repeat    ??????while (s[id[0,i]] s[

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档