SSL1132 編碼問題

2021-08-01 12:11:39 字數 1444 閱讀 4852

description

設有乙個陣列a:array [0..n-1] of integer;

存放的元素為0 - n-1(1a[j](i<>j)。例如當n=6時,有:a=(4,3,0,5,1,2)。此時,陣列a的編碼定義如下:a[0]編碼為0,a[i]編碼為:在a[0],a[1],…,a[i-1]中比a[i]的值小的個數i=1,2,…,n-1)

上面陣列a的編碼為:b=(0,0,0,3,1,2)

要求程式設計解決以下問題:

(1)給出陣列a後,求出其編碼;

(2)給出陣列a的編碼後,求出a中的原資料

input

第一行為乙個正整數q,表示要解決的第(q)問題

第二行為乙個正整數n

第三行為n個整數

output

第(1)問題輸出"b = "和陣列b中的數

第(2)問題輸出"a = "和陣列a中的數

sample input

1 8

1 0 3 2 5 6 7 4

sample output

b = 0 0 2 2 4 5 6 4

分析:第一問都會不說了,第二問從後往前做因為最後乙個數總是確定的,自己想想為什麼。。。

**

const

maxn=10000;

var a,b:array[0..maxn] of longint;

f:array[0..maxn] of boolean;

i,j,n,q,p:longint;

begin

readln(q);

readln(n);

for i:=1

to n do

read(a[i]);

if q=1

then

begin

for i:=1

to n do

for j:=1

to i-1

doif a[j]then inc(b[i]);

write('b = ');

endelse

begin

for i:=n downto1do

begin

p:=-1;

for j:=0

to n-1

doif

not f[j] then

begin

inc(p);

if a[i]=p then

break;

end;

b[i]:=j;

f[j]:=true;

end;

write('a = ');

end;

for i:=1

to n do

write(b[i],' ');

end.

最少硬幣問題 受限 NK1132

1132 最少硬幣問題 time limit 1500 ms memory limit 10000 kb total submit 909 187 users accepted submit 241 132 users page view 9030 font style aaaa aa 設有n 種不...

最少硬幣問題 受限 NK1132

1132 最少硬幣問題 time limit 1500 ms memory limit 10000 kb total submit 909 187 users accepted submit 241 132 users page view 9030 font style aa aa aa 設有n 種...

編碼方式,編碼之問題

編碼方式對於程式的重要不言而喻,若是不能徹底理解編碼方式,則在許多的地方都會困擾著你。對於編碼方式的困擾,在剛學習jsp時出現的亂碼問題到現在一年有餘,一直在模糊狀態,如今,也不知道是不是真的徹底明白,只是有一點小小的收穫,期待以後的徹底理解,在此先記錄一下點點滴滴。從開始的亂碼起。首先是jsp中的...