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

提交評論