2014noip復賽模擬練習20(答案) - 下載本文

Bessie那慘無人道的二年級老師搞了一個有 N (1 <= N <= 100) 個正整數 I (1 <= I <= 10^60) 的表叫Bessie去判斷“奇偶性”(這個詞語意思向二年級的學生解釋,就是“這個 數是單數,還是雙數啊?”)。Bessie被那個表的長度深深地震精到了,竟然跟棟棟的泛做表 格一洋多道題!!!畢竟她才剛剛學會數數啊。

寫一個程序讀入N個整數,如果是雙數,那麼在獨立的一行內輸出\,如果是單數則類似 地輸出\

輸入格式 Input Format第一行: 一個單獨的整數: N

* 第2到第N+1行: 第j+1行有第j個需要判斷奇偶性的整數。 輸出格式:N行EVEN或ODD

var s:array [1..100] of ansistring; i,l,n:longint; begin

readln(n);

for i:=1 to n do readln(s[i]); for i:=1 to n do begin

l:=length(s[i]);

if (ord(s[i][l])-48) mod 2=0 then writeln('even') else writeln('odd'); end; end. 輸入5 98789

12345678903456 98976565

999988888777777666664355451 10233333333333333333011120 輸出 ODD EVEN ODD ODD EVEN 輸入 8

1111111111111111111111 2222222222222222222222 30000000000000000000000099

1222222222222222222222222222222

999999999999999999999999999999999999999999999 55555555555555555555555555555555555555555555555

77777777777777777777777777777777777777777777777777777

888888888888888888888888888888888888888888888888888888888888888888888 輸出 ODD

EVEN ODD EVEN ODD ODD ODD EVEN

津津的零花錢一直都是自己管理。每個月的月初媽媽給津津300元錢,津津會預算這個月的花銷,并且總能做到實際花銷和預算的相同。

為了讓津津學習如何儲蓄,媽媽提出,津津可以隨時把整百的錢存在她那里,到了年末她會加上20%還給津津。因此津津制定了一個儲蓄計劃:每個月的月初,在得到媽媽給的零花錢后,如果她預計到這個月的月末手中還會有多于100元或恰好100元,她就會把整百的錢存在媽媽那里,剩余的錢留在自己手中。

例如11月初津津手中還有83元,媽媽給了津津300元。津津預計11月的花銷是180元,那么她就會在媽媽那里存200元,自己留下183元。到了11月月末,津津手中會剩下3元錢。

津津發現這個儲蓄計劃的主要風險是,存在媽媽那里的錢在年末之前不能取出。有可能在某個月的月初,津津手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,津津將不得不在這個月省吃儉用,壓縮預算。

現在請你根據2004年1月到12月每個月津津的預算,判斷會不會出現這種情況。如果不會,計算到2004年年末,媽媽將津津平常存的錢加上20%還給津津之后,津津手中會有多少錢。

輸入格式 Input Format輸入文件save.in包括12行數據,每行包含一個小于350的非負整數,分別表示1月到12月津津的預算。

輸出格式 Output Format輸出文件save.out包括一行,這一行只包含一個整數。如果儲蓄計劃實施過程中出現某個月錢不夠用的情況,輸出-X,X表示出現這種情況的第一個月;否則輸出到2004年年末津津手中會有多少錢。

var a:array [1..12] of longint; i,s,num,n:longint; begin

for i:=1 to 12 do begin

readln(a[i]); s:=n+300-a[i]; if s<0 then begin

writeln('-',i); halt; end;

num:=num+(s div 100)*10; n:=s mod 100; end;

num:=num*12+n;

writeln(num); end.

輸入288 110 310 188 168 161 32 332 89 298 201

60 輸出 -3 輸入 288 339 342 2 39 245 99 269 92 167 198

61 輸出 -2 輸入288 225 151 95 279 203 65 300 266 232 199 60

輸出 1477 輸入288 213 246 237 240

105 265 113 274 188 190

63 輸出 1398

給你一個長度為n的數字串,數字串里會包含1-m這些數字。如果連續的一段數字子串包含了1-m這些數字,則稱這個數字字串為NUM串。你的任務是求出長度最短的NUM串是什么,只需要輸出這個長度即可。 1<=n,m<=200000

輸入格式 Input Format第一行給定n和m。 第二行n個數,表示數字串,數字間用空格隔開。 輸出格式 Output Format

如果存在NUM串則輸出最短NUM串長度,否則輸出“NO”。

var a,b:array[1..200000] of longint; n,m,i,k,gs,zgs,p,q,min:longint; begin

readln(n,m); gs:=0; zgs:=0; p:=1;

min:=maxlongint; fillchar(b,sizeof(b),0); for i:=1 to n do begin

read(a[i]); inc(b[a[i]]);

if b[a[i]]=1 then inc(gs); inc(zgs);

while ((a[p]=a[i])and(p1) do begin

dec(zgs); dec(b[a[p]]); inc(p); end;

if (gs=m)and(zgs

if min<>maxlongint then writeln(min) else writeln('NO'); end.

輸入5 3

1 2 2 3 1 輸出 3 輸入 12 7

2 3 4 5 6 4 7 8 9 6 8 7 輸出 8

輸入 10 4

9 9 8 7 8 9 7 8 7 9 輸出 NO 輸入 30 23

8 18 38 9 17 36 78 44 12 19 16 3 13 15 20 21 7 8 9 12 11 16 55 5 15 17 4 3 13 22 輸出 NO 輸入 15 9

3 4 5 6 8 7 6 6 9 10 12 13 14 15 16 輸出 11

superwyh的學校要舉行拔河比賽,為了在賽前鍛煉大家,老師決定把班里所有人分為兩撥,進行拔河因為為鍛煉所以為了避免其中一方的實力過強老師決定以體重來劃分隊伍,盡

量保持兩個隊伍的體重差最少,因為老師對結果沒興趣,所以只告訴老師最小的體重差是多少就行了。這個受苦受累的任務就交給superwyh了,因為這兩天superwyh的后背間諜sjh

鬧肚子了,所以只好superwyh親自去調查每個人的體重,但是僅僅知道體重依然難以確定到底如何分配隊伍,請各位oier幫助superwyh出出主意。 輸入格式

第一行為人數(1<=n<=100),從第二行開始是每個人的體重(0<=m<=100)。 輸出格式 最小體重差。 樣例輸入 4 10 23 41 12 樣例輸出 4

var i,j,k,m,n:longint;

a,f:array[0..1001] of longint; begin

readln(n); k:=0;

for i:=1 to n do begin

read(a[i]); k:=k+a[i];

end; for i:=1 to n do for j:=k div 2 downto a[i] do

if f[j]

end. 輸入 8

35 68 20 14 57 48 42 54輸出 2 輸入 15

8 18 28 33 43 53 67 68 76 80 23 55 45 16 26輸出 1 輸入 30

5 85 65 66 45 35 25 15 95 75 11 21 91 81 71 61 51 41 21 31 17 27 37 69 67 77 57 47 29 89 輸出 1





宁夏11选5(任六)