noip2010提高组初赛试题与答案_第1页
noip2010提高组初赛试题与答案_第2页
noip2010提高组初赛试题与答案_第3页
noip2010提高组初赛试题与答案_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NOIP2010 第十六届青少年信息学联赛初赛试题NOIP2010 NOIP2010 #include #define SIZE 10 int main()int dataSIZE, i, j, cnt, scanf(%d %dn, &n, &m); for(i = 1; i = n; i+)scanf(%d, &datai); for(i = 1; i = n; i+)cnt = 0;for(j = 1; j= n; j+) if (datai dataj)cnt+;if(cnt = m)n, m;| (dataj = datai& j i)printf(%dn, datai);getch(

2、); / return 0;windows2000winTCC5 296 -8 0 16 87#include #define SIZE 100NOIP2010 int main()int na, nb, aSIZE, bSIZE, i, scanf(%dn, &na);for (i = 1; i = na; i+) scanf(%d, &ai);scanf(%dn, &nb);for (i = 1; i = nb; i+) scanf(%d, &bi);i=1;j=1;j,k;while (i = na) & (j = nb) if (ai = bj) printf(%d , ai); i+

3、;else printf(%d , bj); j+;if (i = na)for (k = i; k= na; k+) printf(%d , ak);if (j = nb)for (k = j; k= nb; k+)printf (%d getch();return 0;,bk);51 3 5 7 942 6 10 143.#include #define NUM 5 int r(int n)int i; if(n= NUM)return n;for(i =1;i = NUM;i+) if(r(n -i)0)NOIP2010 return i;return -1;int main()int

4、n; scanf(%d,&n);printf(%dn,r(n); getch();return 0;16#include #include #define SIZE 100int n,m,mapSIZESIZE,rSIZE,find; int successful()int i;for(i =1;i right)if(successful()= 1)for(i = 1;i = n;i +) printf(%d ,ri); find= 1;return;NOIP2010 for(i = left;i = right;i+)swap(r+ left,r+ i); perm(left+ 1,righ

5、t); swap(r+ left,r+ i);int main()int x,y,i; scanf(%d%d,&n,&m); memset(map,0,sizeof(map); for(i = 1;i = m;i +)scanf(%d%d,&x,&y);mapxy = 1;mapyx = 1;for(i = 1;i = n;i +) ri= i;find= 0;perm(1,n);if(find=getch();0)printf(Nosolution!n);return0;1.(),.,.,NOIP2010 ,.,.,N(2=N1000),.N,.,3,124,7.:,2+1+4=7.#inc

6、lude#include#define #define #define #define #define#defineSIZE 100 INFI LEFT1RIGHT 010000LEFT_TO_RIGHT1RIGHT TO LEFT0inimeSIZE,posSIZE;int max(inta,int b)if(ab)return a; elsereturn b;int go(int stage)int i,j,num,tmp,ans; if(stage= RIGHT TO LEFT)num= 0;ans= 0;for(i = 1;i ans) ans=timei;if() returnans

7、;ans= INFI;for(i = 1;i = n-1;i +) if(posi= RIGHT)for(j = i+1;j = n;j+) if(posj= RIGHT)posi= LEFT; posj= LEFT;tmp=max(timei,timej)+ ;NOIP2010 if(tmp ans) ans= tmp; posi=RIGHT;posj=RIGHT;Return ans;if(stage= LEFT TO RIGHT)ans= INFI;for(i = 1;i = n ;i+)if() posi= RIGHT;tmp = timei+; if(tmp ans)ans= tmp

8、;Return ans;Return 0;int main()int i; scanf(%d,&n);for(i = 1;i = n;i +) scanf(%d,&timei); posi= RIGHT;printf(%dn,go(RIGHT TO return 0;LEFT);nmnm51 2 5 6 2m3425#include #include#define SIZE 100NOIP2010 intn,m,r,valueSIZE,heapSIZE,posSIZE,homeSIZE,optSIZE;/heapi/posi/homei void swap(intheap heapoptiop

9、ti heapii,intj)jheapposi=optiopthomei=heapi/int tmp;iposhomei=poshomej=j;i;heapi= heapj; heapj= tmp; tmp = homei;homei = homej;homej = tmp;void add(intk)/optkint i; r+;heapr=posk= r;i=r;while(i 1)&(heapi swap(i,i/2);i /= 2; 1) & (heapiheapi/2) swap(i,i/2);i /= 2;NOIP2010 while(i + i = r)if (i+ i + 1

10、 heapj) ; i = j;elsebreak;+i+1heapi+i)int main(void)int i; scanf(%d%d,&n,&m); for(i = 1;i = n;i +)scanf(%d,&valuei); r = 0;for(i = 1;i = m;i +) opti= valuei; add(i);for(i = m+1;i = n;i+) opti=remove(); add(i);printf(%dn,heap1); system(pause); return 0;NOIP2010 CCF NOIP2010 提高组(C 语言)参考与评分标准101.515101.5153yyxy xy5x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论