Областная олимпиада по информатике 2020 год, 9-11 классы
Задача A. Кролики
У Айбара есть сад, который состоит из $K$ подряд идущих грядок. В саду живут $n$ кроликов. Каждый кролик находится в одной из грядок. Иногда кролики могут переходить в соседние грядки. Также, иногда Айбару нужно узнать количество кроликов, которые находятся на каком-то отрезке, чтобы их покормить. Айбару дано $q$ запросов, которые надо обработать. Они бывают следующих типов:
- Кролик номер $x\; (1 <= x <= n)$ перешел на одну грядку налево или направо. При этом гарантируется, что кролик не выйдет за пределы сада
- Посчитать количество кроликов на отрезке от грядки $l$ до грядки $r$ $(1 <= l <= r <= K)$ включительно.
- $\texttt{L } x$ - сдвинуть кролика номер $x$ на одну грядку налево
- $\texttt{R } x$ - сдвинуть кролика номер $x$ на одну грядку направо
- $\texttt{G } l\; r$ - Посчитать и вывести количество кроликов на отрезке от грядки $l$ до грядки $r$ включительно.
3 10 4 2 8 4 G 3 7 R 2 L 3 G 3 7Ответ
1 3( Sanjar Bidaibek )
Комментарий/решение:
Кому интересно это решение через Дерево Фенвика!
Решение на Python:
kr, gr = map(int, input().split())
sad=[]
z=0
schet=0
superschet=[]
sad=(input().split())
for i in range(len(sad)):
z=int(sad[i])
sad[i]=z
deis=input()
deis=int(deis)
for i in range(deis):
hod=input().split()
if(hod[0]=="G"):
for i in range(len(sad)):
if(sad[i]>=int(hod[1]) and sad[i]<=int(hod[2])):
schet+=1
superschet.append(schet)
schet=0
if(hod[0]=="R"):
sad[int(hod[1])-1]=sad[int(hod[1])-1]+1
if(hod[0]=="L"):
sad[int(hod[1])-1]=sad[int(hod[1])-1]-1
for i in range(len(superschet)):
print(superschet[i])
#python
n, k = map(int, input().split())
a = list(map(int, input().split()))
g = int(input())
b = [0]
l = []
for i in range(n):
b.append(a[i])
for i in range(g):
s = input().split()
w = 0
if 'G' in s:
x = int(s[1])
y = int(s[2])
for j in b:
if x <= j <= y:
w += 1
l.append(w)
if 'R' in s:
x = int(s[1])
b[x] = b[x] + 1
if 'L' in s:
x = int(s[1])
b[x] = b[x] - 1
print(*l)
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.