например число 123 - 6 комбинаций, 120 - 4 комбинации.
также работает с 4значными
Объяснение:
program prog;
var num,i,j,tmp:integer;
arr:array [1..4] of integer=(-1,-1,-1,-1);
zero: boolean;
begin
writeln('Input number:');
readln(num);
i:=1;j:=1;zero:=false;
while num<>0 do begin
tmp:=num mod 10;
if (tmp<>arr[1]) and (tmp<>arr[2]) and (tmp<>arr[3]) and (tmp<>arr[4]) then begin
arr[i]:=tmp;
if (zero=false) and (tmp=0) then zero:=true;
write(i,':');
writeln('arr[i]=',arr[i]);
writeln('num=',num);
i:=i+1
end;
num:=num div 10;
end;
num:=1;tmp:=1;
i:=i-1;
for j:=1 to i do num:=num*j;
if zero=true then begin
for j:=1 to i-1 do tmp:=tmp*j;
num:=num-tmp;
end;
writeln('vsego chisel =',num);
end.
ответ:
работает с e1, но в e2 выдает time limit exceeded на 57 тесте
объяснение:
m, n = map(int,
bank = []
bull = []
for i in range(m):
bank.append(list(map(int,
for i in range(n):
bull.append(list(map(int,
shoted = [true] * m
ns = [-1] * n
for i in range(n):
for j in range(m):
if bank[j][0] < = bull[i][0] < = bank[j][2] and bank[j][1] < = bull[i][1] < = bank[j][3] and shoted[j]:
shoted[j] = false
ns[i] = j + 1
break
for k in ns:
print(k, end=' ')