Jste dostali celočíselné sekvence délky N: A=(A_1,A_2,\cdots,A_N) a B=(B_1,B_2,\cdots,B_N), a celé číslo K.
Můžete provést následující operaci nula nebo vícekrát.

- Zvolte celá čísla i a j (1 \leq i,j \leq N).
Zde musí platit |i-j| \leq K.
Pak změňte hodnotu A_i na A_j.

Zjistěte, zda je možné udělat A identické s B.
Existuje T testovacích případů pro každý vstup.

Vstup

Vstup je dán ve Standardním Vstupu ve formátu:
T
případ_1
případ_2
\vdots
případ_T

Každý testovací případ je dán v následujícím formátu:
N K
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N

Výstup

Pro každý testovací případ, vytiskněte Yes, pokud je možné udělat A identické s B, a No jinak.

Omezení

- 1 \leq T \leq 125000
- 1 \leq K < N \leq 250000
- 1 \leq A_i,B_i \leq N
- Součet N ve všech testovacích případech pro každý vstup je nejvýše 250000.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový Vstup 1

4
3 1
1 1 2
1 2 2
5 4
2 4 5 1 3
2 1 3 2 2
13 1
3 1 3 3 5 3 3 4 2 2 2 5 1
5 3 3 3 4 2 2 2 2 5 5 1 3
20 14
10 6 6 19 13 16 15 15 2 10 2 16 9 12 2 6 13 5 5 9
5 9 6 2 10 19 16 15 13 12 10 2 9 6 5 16 19 12 15 13

Ukázkový Výstup 1

Yes
Yes
No
Yes

Zvažte první testovací případ.
Pokud operujeme s i=2 a j=3, hodnota A_2 bude změněna na A_3=2, což má za následek A=(1,2,2).

Jsou vám dány celočíselné posloupnosti délky N: A=(A_1,A_2,\cdots,A_N) a B=(B_1,B_2,\cdots,B_N) a celé číslo K.
Následující operaci můžete provést nula nebo vícekrát.

- Vyberte celá čísla i a j (1 \leq i,j \leq N).
Tady, |i-j| \leq K musí držet.
Potom změňte hodnotu A_i na A_j.

Zjistěte, zda je možné učinit A identické s B.
Pro každý vstup existuje T testovacích případů.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
T
případ_1
případ_2
\vtečky
případ_T

Každý testovací případ je uveden v následujícím formátu:
N K
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N

Výstup

Pro každý testovací případ vytiskněte Ano, pokud je možné, aby A bylo shodné s B, a Ne jinak.

Omezení

- 1 \leq T \leq 125000
- 1 \leq K < N \leq 250 000
- 1 \leq A_i,B_i \leq N
- Součet N ve všech testovacích případech v každém vstupu je maximálně 250 000.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
3 1
1 1 2
1 2 2
5 4
2 4 5 1 3
2 1 3 2 2
13 1
3 1 3 3 5 3 3 4 2 2 2 5 1
5 3 3 3 4 2 2 2 2 5 5 1 3
20 14
10 6 6 19 13 16 15 15 2 10 2 16 9 12 2 6 13 5 5 9
5 9 6 2 10 19 16 15 13 12 10 2 9 6 5 16 19 12 15 13

Ukázkový výstup 1

Yes
Yes
No
Yes

Zvažte první testovací případ.
Pokud budeme pracovat s i=2 a j=3, hodnota A_2 se změní na A_3=2, výsledkem je A=(1,2,2).

Jsou vám dány celočíselné sekvence o délce N: A=(A_1,A_2,cdots,A_N) a B=(B_1,B_2,cdots,B_N) a celé číslo K.
Následující operaci můžete provést nulakrát nebo vícekrát.

- Vyberte celá čísla i a j(1 \leq i,j \leq N).
Zde |i-j| leq K musí vydržet.
Poté změňte hodnotu A_i na A_j.

Zjistěte, zda je možné vytvořit identické s B.
Pro každý vstup existuje T testovacích případů.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
T
case_1
case_2
\vdots
case_T

Každý testovací případ je uveden v následujícím formátu:
N K
A_1 A_2 \cdots A_N
B_1 B_2 \cdots B_N

Výstup

Pro každý testovací případ vytiskněte Ano, pokud je možné vytvořit A identické s B, a Ne jinak.

Omezení

- 1 \leq T \leq 125000
- 1 \leq K < N \leq 250000
- 1 \leq A_i,B_i \leq N
- Součet N ve všech testovacích případech v každém vstupu je maximálně 250000.
- Všechny vstupní hodnoty jsou celá čísla.

Vzorový vstup 1
4
3 1
1 1 2
1 2 2
5 4
2 4 5 1 3
2 1 3 2 2
13 1
3 1 3 3 5 3 3 4 2 2 2 5 1
5 3 3 3 4 2 2 2 2 5 5 1 3
20 14
10 6 6 19 13 16 15 15 2 10 2 16 9 12 2 6 13 5 5 9
5 9 6 2 10 19 16 15 13 12 10 2 9 6 5 16 19 12 15 13

Ukázkový výstup 1
Yes
Yes
No
Yes

Vezměme si první testovací případ.
Pokud pracujeme s i=2 a j=3, hodnota A_2 se změní na A_3=2, což má za následek A=(1,2,2).


Najděte počet permutací \( P = (P_1, P_2, \cdots, P_N) \) množiny \( (1, 2, \cdots, N) \), které splňují všech \( M \) následujících podmínek modulo \( 998244353 \).

- i-tá podmínka: Maximum mezi \( P_{L_i}, P_{L_i+1}, \cdots, P_{R_i} \) není \( P_{X_i} \).
Zde \( L_i \), \( R_i \) a \( X_i \) jsou celá čísla zadaná ve vstupu.

Vstup

Vstup je zadán ve formátu standardního vstupu následovně:
N M
L_1 R_1 X_1
L_2 R_2 X_2
\vdots
L_M R_M X_M

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N \leq 500
- 1 \leq M \leq 10^5
- 1 \leq L_i \leq X_i \leq R_i \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
1 3 2
1 2 1

Ukázkový výstup 1

1

Pouze jedna permutace, P=(1,2,3), splňuje podmínky.

Ukázkový vstup 2

5 1
1 1 1

Ukázkový výstup 2

0

Ukázkový vstup 3

10 5
3 8 4
3 10 4
1 7 2
1 8 3
3 8 7

Ukázkový výstup 3

1598400

Ukázkový vstup 4

15 17
2 11 9
2 15 13
1 14 2
5 11 5
3 15 11
1 6 2
4 15 12
3 11 6
9 13 10
2 14 6
10 15 11
1 8 6
6 14 8
2 10 2
6 12 6
3 14 12
2 6 2

Ukázkový výstup 4

921467228

Najděte počet, modulo 998244353, permutací P=(P_1,P_2,\cdots,P_N) z (1,2,\cdots,N), které splňují všechny následující M podmínky.

- I-tá podmínka: Maximum mezi P_{L_i},P_{L_i+1},\cdots,P_{R_i} není P_{X_i}.
Zde jsou L_i, R_i a X_i celá čísla zadaná na vstupu.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N M
L_1 R_1 X_1
L_2 R_2 X_2
\vtečky
L_M R_M X_M

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N \leq 500
- 1 \leq M \leq 10^5
- 1 \leq L_i \leq X_i \leq R_i \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
1 3 2
1 2 1

Ukázkový výstup 1

1

Pouze jedna permutace, P=(1,2,3), splňuje podmínky.

Ukázkový vstup 2

5 1
1 1 1

Ukázkový výstup 2

0

Ukázkový vstup 3

10 5
3 8 4
3 10 4
1 7 2
1 8 3
3 8 7

Ukázkový výstup 3

1598400

Ukázkový vstup 4

15 17
2 11 9
2 15 13
1 14 2
5 11 5
3 15 11
1 6 2
4 15 12
3 11 6
9 13 10
2 14 6
10 15 11
1 8 6
6 14 8
2 10 2
6 12 6
3 14 12
2 6 2

Ukázkový výstup 4

921467228

Najděte počet permutací P=(P_1,P_2,\cdots,P_N) čísel (1,2,\cdots,N), které splňují všechny následující M podmínky, modulo 998244353.

- i-tá podmínka: Maximum mezi P_{L_i},P_{L_i+1},\cdots,P_{R_i} není P_{X_i}.
Zde jsou L_i, R_i a X_i celá čísla zadaná ve vstupu.

Vstup

Vstup je zadán ve formátu standardního vstupu následovně:
N M
L_1 R_1 X_1
L_2 R_2 X_2
\vdots
L_M R_M X_M

Výstup

Vytiskněte odpověď.

Omezení

- 1 \leq N \leq 500
- 1 \leq M \leq 10^5
- 1 \leq L_i \leq X_i \leq R_i \leq N
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

3 2
1 3 2
1 2 1

Ukázkový výstup 1

1

Pouze jedna permutace, P=(1,2,3), splňuje podmínky.

Ukázkový vstup 2

5 1
1 1 1

Ukázkový výstup 2

0

Ukázkový vstup 3

10 5
3 8 4
3 10 4
1 7 2
1 8 3
3 8 7

Ukázkový výstup 3

1598400

Ukázkový vstup 4

15 17
2 11 9
2 15 13
1 14 2
5 11 5
3 15 11
1 6 2
4 15 12
3 11 6
9 13 10
2 14 6
10 15 11
1 8 6
6 14 8
2 10 2
6 12 6
3 14 12
2 6 2

Ukázkový výstup 4

921467228


Jsou dána celá kladná čísla N a K.
Posloupnost celých čísel délky NK, ve které se každé celé číslo od 1 do N vyskytuje přesně Kkrát, se nazývá dobrá posloupnost celých čísel.
Nechť S je počet dobrých celočíselných posloupností.
Najděte \operátorname{floor}((S+1)/2)-tou dobrou posloupnost celých čísel v lexikografickém pořadí.
Zde \operatorname{floor}(x) představuje největší celé číslo, které není větší než x.
 Co je to lexikografické pořadí posloupností?
Posloupnost S = (S_1,S_2,\ldots,S_{|S|}) je lexikograficky menší než posloupnost T = (T_1,T_2,\ldots,T_{|T|}), jestliže platí 1. nebo 2. níže.
Zde |S| a |T| představují délky S a T.

- |S| \lt |T| a (S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|}).
- Existuje celé číslo 1 \leq i \leq \min\lbrace |S|, |T| \rbrace takové, že platí obě následující podmínky:

- (S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1}).
- S_i je (číselně) menší než T_i.

Vstup

Vstup se zadává ze standardního vstupu v následujícím formátu:
N K

Výstup

Vypíše požadovanou posloupnost celých čísel, jejíž prvky jsou odděleny mezerami.

Omezení

- 1 \leq N \leq 500
- 1 \leq K \leq 500
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2

Ukázkový výstup 1

1 2 2 1

Existuje šest dobrých posloupností celých čísel:

- (1,1,2,2)
- (1,2,1,2)
- (1,2,2,1)
- (2,1,1,2)
- (2,1,2,1)
- (2,2,1,1)

Odpovědí je tedy 3. posloupnost v lexikografickém pořadí, (1,2,2,1).

Vzorový vstup 2

1 5

Ukázkový výstup 2

1 1 1 1 1

Vzorový vstup 3

6 1

Vzorový výstup 3

3 6 5 4 2 1

Vzorový vstup 4

3 3

Vzorový výstup 4

2 2 2 1 3 3 3 1 1

Jsou vám dána kladná celá čísla N a K.
Celočíselná posloupnost délky NK, kde se každé celé číslo od 1 do N objevuje přesně Kkrát, se nazývá dobrá celočíselná posloupnost.
Nechť S je počet dobrých celočíselných posloupností.
Najděte podlahová funkce((S+1)/2)-tou dobrou celočíselnou posloupnost v lexikografickém pořadí.
Zde \operatorname{floor}(x) představuje největší celé číslo nepřesahující x.
 Co je lexikografické pořadí sekvencí?
Sekvence S = (S_1,S_2,\ldots,S_{|S|}) je lexikograficky menší než posloupnost T = (T_1,T_2,\ldots,T_{|T|}), pokud je 1. nebo 2. níže drží.
Tady, |S| a |T| představují délky S a T.

- |S| \lt |T| a (S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|}).
- Existuje celé číslo 1 \leq i \leq \min\lbrace |S|, |T| \rbrace tak, že platí obě následující:

- (S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
- S_i je (numericky) menší než T_i.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N K

Výstup

Vytiskněte požadovanou celočíselnou sekvenci s prvky oddělenými mezerami.

Omezení

- 1 \leq N \leq 500
- 1 \leq K \leq 500
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2

Ukázkový výstup 1

1 2 2 1

Existuje šest dobrých celočíselných sekvencí:

- (1,1,2,2)
- (1,2,1,2)
- (1,2,2,1)
- (2,1,1,2)
- (2,1,2,1)
- (2,2,1,1)

Proto je odpovědí 3. sekvence v lexikografickém pořadí (1,2,2,1).

Ukázkový vstup 2

1 5

Ukázkový výstup 2

1 1 1 1 1

Ukázkový vstup 3

6 1

Ukázkový výstup 3

3 6 5 4 2 1

Ukázkový vstup 4

3 3

Ukázkový výstup 4

2 2 2 1 3 3 3 1 1

Jsou vám dána kladná celá čísla N a K.
Celočíselná posloupnost délky NK, kde se každé celé číslo od 1 do N objevuje přesně Kkrát, se nazývá dobrá celočíselná posloupnost.
Nechť S je počet dobrých celočíselných posloupností.
Najděte \operatorname{podlaží}((S+1)/2)-tou dobrou celočíselnou posloupnost v lexikografickém pořadí.
Zde \operatorname{podlaží}(x) představuje největší celé číslo nepřesahující x.
 Co je lexikografické pořadí sekvencí?
Sekvence S = (S_1,S_2,\ldots,S_{|S|}) je lexikograficky menší než posloupnost T = (T_1,T_2,\ldots,T_{|T|}), pokud je 1. nebo 2. níže drží.
Tady, |S| a |T| představují délky S a T, v tomto pořadí.

- |S| \lt |T| a (S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|}).
- Existuje celé číslo 1 \leq i \leq \min\lbrace |S|, |T| \rbrace tak, že platí obě následující:

- (S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
- S_i je (numericky) menší než T_i.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N K

Výstup

Vytiskněte požadovanou celočíselnou sekvenci s prvky oddělenými mezerami.

Omezení

- 1 \leq N \leq 500
- 1 \leq K \leq 500
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

2 2

Ukázkový výstup 1

1 2 2 1

Existuje šest dobrých celočíselných sekvencí:

- (1,1,2,2)
- (1,2,1,2)
- (1,2,2,1)
- (2,1,1,2)
- (2,1,2,1)
- (2,2,1,1)

Proto je odpovědí 3. sekvence v lexikografickém pořadí (1,2,2,1).

Ukázkový vstup 2

1 5

Ukázkový výstup 2

1 1 1 1 1

Ukázkový vstup 3

6 1

Ukázkový výstup 3

3 6 5 4 2 1

Ukázkový vstup 4

3 3

Ukázkový výstup 4

2 2 2 1 3 3 3 1 1


Existuje strom s N vrcholy očíslovanými od 1 do N.
I-tá hrana spojuje vrcholy A_i a B_i.
Zde je N sudé a navíc tento strom má dokonalé párování.
Konkrétně pro každé i (1 \leq i \leq N/2) je zaručeno, že A_i=i \times 2-1 a B_i=i \times 2.
Následující operaci provedete N/2 krát:

- Vyberte dva listy (vrcholy se stupněm přesně 1) a odstraňte je ze stromu.
Zde musí strom po odstranění stále mít dokonalé párování.
V tomto problému považujeme za strom také graf s nulovými vrcholy.

Pro každou operaci je její skóre definováno jako vzdálenost mezi dvěma vybranými vrcholy (počet hran na jednoduché cestě spojující dva vrcholy).
Ukažte jeden postup, který maximalizuje celkové skóre.
Lze dokázat, že vždy existuje postup pro dokončení N/2 operací pod omezeními tohoto problému.

Vstup

Vstup je dán ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}

Výstup

Vytiskněte řešení v následujícím formátu:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}

Zde jsou X_i a Y_i dva vrcholy zvolené v i-té operaci.
Pokud existuje více řešení, můžete vytisknout kterékoli z nich.

Omezení

- 2 \leq N \leq 250 000
- N je sudé.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- Daný graf je strom.
- Všechny vstupní hodnoty jsou celá čísla.

Ukázkový vstup 1

4
1 2
3 4
2 3

Ukázkový výstup 1

4 1
2 3

Postup ve vzorovém výstupu je následující:

- 1. operace: Odstraňte vrcholy 4 a 1. Zbývající strom má vrcholy 2 a 3 a perfektní párování. Skóre této operace je 3.
- 2. operace: Odstraňte vrcholy 2 a 3. Zbývající strom má nulový počet vrcholů a stále má perfektní párování. Skóre této operace je 1.
- Celkové skóre je 3 + 1 = 4.

Není možné dosáhnout celkového skóre většího než 4, takže tento výstup řeší tento vzorový vstup.

Ukázkový vstup 2

8
1 2
3 4
5 6
7 8
2 3
1 5
1 7

Ukázkový výstup 2

4 8
7 6
5 3
2 1

Ukázkový vstup 3

14
1 2
3 4
5 6
7 8
9 10
11 12
13 14
2 8
4 11
5 12
7 13
11 14
9 13

Ukázkový výstup 3

1 6
5 2
8 12
3 7
10 4
11 9
13 14

Ukázkový vstup 4

20
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
8 10
16 18
16 19
5 9
10 17
2 13
7 14
3 7
3 12

Ukázkový výstup 4

6 1
2 15
20 13
14 19
16 4
11 18
17 12
3 5
9 7
8 10

Existuje strom s N vrcholy očíslovanými od 1 do N.
Hrana i-tého spojuje vrcholy A_i a B_i.
Zde je N sudé a tento strom má dokonalé párování.
Konkrétně pro každé i (1 \leq i \leq N/2) je zaručeno, že A_i=i \times 2-1 a B_i=i \times 2.
Budete provádět následující operaci N/2 krát:

- Vyberte dva listy (vrcholy se stupněm přesně 1) a odstraňte je ze stromu.
Zde musí mít strom po odstranění stále dokonalé párování.
V tomto problému považujeme graf s nulovými vrcholy také za strom.

Skóre každé operace je definováno jako vzdálenost mezi dvěma zvolenými vrcholy (počet hran na jednoduché cestě spojující dva vrcholy).
Zobrazte jeden postup, který maximalizuje celkové skóre.
Lze dokázat, že za podmínek tohoto problému vždy existuje postup k dokončení N/2 operací.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}

Výstup

Vytiskněte řešení v následujícím formátu:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}

Zde X_i a Y_i jsou dva vrcholy zvolené v i-té operaci.
Pokud existuje více řešení, můžete vytisknout kterékoli z nich.

Omezení

- 2 \leq N \leq 250000
- N je sudé.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- Zadaný graf je strom.
- Všechny hodnoty vstupu jsou celá čísla.

Ukázkový Vstup 1

4
1 2
3 4
2 3

Ukázkový Výstup 1

4 1
2 3

Postup v ukázkovém výstupu je následující:

- 1. operace: Odstranění vrcholů 4 a 1. Zbývající strom má vrcholy 2 a 3 a dokonalé párování. Skóre této operace je 3.
- 2. operace: Odstranění vrcholů 2 a 3. Zbývající strom má nulové vrcholy a dokonalé párování. Skóre této operace je 1.
- Celkové skóre je 3 + 1 = 4.

Není možné dosáhnout celkového skóre většího než 4, takže tento výstup řeší tento ukázkový vstup.

Ukázkový Vstup 2

8
1 2
3 4
5 6
7 8
2 3
1 5
1 7

Ukázkový Výstup 2

4 8
7 6
5 3
2 1

Ukázkový Vstup 3

14
1 2
3 4
5 6
7 8
9 10
11 12
13 14
2 8
4 11
5 12
7 13
11 14
9 13

Ukázkový Výstup 3

1 6
5 2
8 12
3 7
10 4
11 9
13 14

Ukázkový Vstup 4

20
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
8 10
16 18
16 19
5 9
10 17
2 13
7 14
3 7
3 12

Ukázkový Výstup 4

6 1
2 15
20 13
14 19
16 4
11 18
17 12
3 5
9 7
8 10

Existuje strom s N vrcholy očíslovanými od 1 do N.
I-tá hrana spojuje vrcholy A_i a B_i.
Zde je N sudé a navíc má tento strom dokonalou shodu.
Konkrétně pro každé i (1 \leq i \leq N/2) je zaručeno, že A_i=i \times 2-1 a B_i=i \times 2.
Následující operaci provedete N/2krát:

- Zvolte dva listy (vrcholy se stupněm přesně 1) a odstraňte je ze stromu.
Zde platí, že strom po odstranění musí mít stále dokonalou shodu.
V této úloze považujeme za strom i graf s nulovými vrcholy.

Pro každou operaci je její skóre definováno jako vzdálenost mezi dvěma vybranými vrcholy (počet hran na jednoduché cestě spojující tyto dva vrcholy).
Ukažte jeden postup, který maximalizuje celkové skóre.
Lze dokázat, že vždy existuje postup, kterým lze dokončit N/2 operací při omezeních tohoto problému.

Vstup

Vstup je zadán ze standardního vstupu v následujícím formátu:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}

Výstup

Vypište řešení v následujícím formátu:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}

Zde X_i a Y_i jsou dva vrcholy vybrané v i-té operaci.
Pokud existuje více řešení, můžete vypsat kterékoli z nich.

Omezení

- 2 \leq N \leq 250000
- N je sudé.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- Daný graf je strom.
- Všechny vstupní hodnoty jsou celá čísla.

Příklad Vstup 1

4
1 2
3 4
2 3

Vzorový výstup 1

4 1
2 3

Postup v ukázkovém výstupu je následující:

- 1. operace: Odstranění vrcholů 4 a 1. Zbývající strom má vrcholy 2 a 3 a dokonale se shodují. Skóre této operace je 3.
- 2. operace: Odstranění vrcholů 2 a 3. Zbývající strom má nulové vrcholy a dokonalou shodu. Skóre této operace je 1.
- Celkové skóre je 3 + 1 = 4.

Není možné, aby celkové skóre bylo větší než 4, takže tento výstup vyřeší tento vzorový vstup.

Vzorkovací vstup 2

8
1 2
3 4
5 6
7 8
2 3
1 5
1 7

Ukázkový výstup 2

4 8
7 6
5 3
2 1

Vzorkovací vstup 3

14
1 2
3 4
5 6
7 8
9 10
11 12
13 14
2 8
4 11
5 12
7 13
11 14
9 13

Ukázkový výstup 3

1 6
5 2
8 12
3 7
10 4
11 9
13 14

Vzorkovací vstup 4

20
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
8 10
16 18
16 19
5 9
10 17
2 13
7 14
3 7
3 12

Ukázkový výstup 4

6 1
2 15
20 13
14 19
16 4
11 18
17 12
3 5
9 7
8 10


Jsou vám dána kladná celá čísla n a cíl.
Pole nums je krásné, pokud splňuje následující podmínky:

nums.length == n.
nums se skládá z párově odlišných kladných celých čísel.
Neexistují dva odlišné indexy, i a j, v rozsahu [0, n - 1], tak, že nums[i] + nums[j] == cíl.

Vraťte minimální možný součet, který by krásné pole nums mohlo mít modulo 10^9 + 7.

Příklad 1:

Vstup: n = 2, cíl = 3
Výstup: 4
Vysvětlení: Vidíme, že nums = [1,3] je krásné.
- Pole nums má délku n = 2.
- Pole nums se skládá z párově odlišných kladných celých čísel.
- Neexistují dva odlišné indexy, i a j, s nums[i] + nums[j] == 3.
Lze dokázat, že 4 je minimální možný součet, který by krásné pole nums mohlo mít.

Příklad 2:

Vstup: n = 3, cíl = 3
Výstup: 8
Vysvětlení: Vidíme, že nums = [1,3,4] je krásné.
- Pole nums má délku n = 3.
- Pole nums se skládá z párově odlišných kladných celých čísel.
- Neexistují dva odlišné indexy, i a j, s nums[i] + nums[j] == 3.
Lze dokázat, že 8 je minimální možný součet, který by krásné pole nums mohlo mít.

Příklad 3:

Vstup: n = 1, cíl = 1
Výstup: 1
Vysvětlení: Vidíme, že nums = [1] je krásné.

Omezení:

1 <= n <= 10^9
1 <= cíl <= 10^9

Máte dány kladné celá čísla n a target. Pole nums je krásné, pokud splňuje následující podmínky:

nums.length == n.
nums se skládá z navzájem odlišných kladných celých čísel.
Neexistují dva různé indexy i a j v rozmezí [0, n - 1], takové že nums[i] + nums[j] == target.

Vrátí minimální možný součet, který může mít krásné pole, modulo 10^9 + 7.

Příklad 1:

Vstup: n = 2, target = 3
Výstup: 4
Vysvětlení: Vidíme, že nums = [1,3] je krásné.
- Pole nums má délku n = 2.
- Pole nums se skládá z navzájem odlišných kladných celých čísel.
- Neexistují dva různé indexy i a j, kde nums[i] + nums[j] == 3.
Lze dokázat, že 4 je minimální možný součet, který může mít krásné pole.

Příklad 2:

Vstup: n = 3, target = 3
Výstup: 8
Vysvětlení: Vidíme, že nums = [1,3,4] je krásné.
- Pole nums má délku n = 3.
- Pole nums se skládá z navzájem odlišných kladných celých čísel.
- Neexistují dva různé indexy i a j, kde nums[i] + nums[j] == 3.
Lze dokázat, že 8 je minimální možný součet, který může mít krásné pole.

Příklad 3:

Vstup: n = 1, target = 1
Výstup: 1
Vysvětlení: Vidíme, že nums = [1] je krásné.

Omezení:

1 <= n <= 10^9
1 <= target <= 10^9

Jsou vám dána kladná celá čísla n a cíl.
Pole nums je krásné, pokud splňuje následující podmínky:

nums.length == n.
num se skládá z párově odlišných kladných celých čísel.
Neexistují dva odlišné indexy, i a j, v rozsahu [0, n - 1], takže nums[i] + nums[j] == cíl.

Vraťte minimální možný součet, který by krásné pole mohlo mít modulo 10^9 + 7.

Příklad 1:

Vstup: n = 2, cíl = 3
Výstup: 4
Vysvětlení: Vidíme, že nums = [1,3] je krásné.
- Pole nums má délku n = 2.
- Pole Nums se skládá z párově odlišných kladných celých čísel.
- Neexistují dva odlišné indexy, i a j, s nums[i] + nums[j] == 3.
Lze dokázat, že 4 je minimální možný součet, který by krásné pole mohlo mít.

Příklad 2:

Vstup: n = 3, cíl = 3
Výstup: 8
Vysvětlení: Vidíme, že nums = [1,3,4] je krásné.
- Pole nums má délku n = 3.
- Pole Nums se skládá z párově odlišných kladných celých čísel.
- Neexistují dva odlišné indexy, i a j, s nums[i] + nums[j] == 3.
Lze dokázat, že 8 je minimální možný součet, který by krásné pole mohlo mít.

Příklad 3:

Vstup: n = 1, cíl = 1
Výstup: 1
Vysvětlení: Vidíme, že nums = [1] je krásné.

Omezení:

1 <= n <= 10^9
1 <= cíl <= 10^9


Je dán binární řetězec s a celé číslo k.
Binární řetězec splňuje k-omezení, pokud platí jedna z následujících podmínek:

Počet '0' v řetězci je nejvýše k.
Počet '1' v řetězci je nejvýše k.

Vraťte celé číslo, které označuje počet podřetězců z s, které splňují k-omezení.

Příklad 1:

Vstup: s = "10101", k = 1
Výstup: 12
Vysvětlení:
Každý podřetězec z s kromě podřetězců "1010", "10101" a "0101" splňuje k-omezení.

Příklad 2:

Vstup: s = "1010101", k = 2
Výstup: 25
Vysvětlení:
Každý podřetězec z s kromě podřetězců s délkou větší než 5 splňuje k-omezení.

Příklad 3:

Vstup: s = "11111", k = 1
Výstup: 15
Vysvětlení:
Všechny podřetězce z s splňují k-omezení.

Omezení:

1 <= s.length <= 50
1 <= k <= s.length
s[i] je buď '0' nebo '1'.

Je vám dán binární řetězec s a celé číslo k.
Binární řetězec splňuje k-omezení, pokud platí některá z následujících podmínek:

Počet 0 v řetězci je maximálně k.
Počet jedniček v řetězci je nejvýše k.

Vrátí celé číslo označující počet podřetězců s, které splňují k-omezení.

Příklad 1:

Vstup: s = "10101", k = 1
Výstup: 12
Vysvětlení:
Každý podřetězec s s výjimkou podřetězců "1010", "10101" a "0101" splňuje k-omezení.

Příklad 2:

Vstup: s = "1010101", k = 2
Výstup: 25
Vysvětlení:
Každý podřetězec s s výjimkou podřetězců s délkou větší než 5 splňuje k-omezení.

Příklad 3:

Vstup: s = "11111", k = 1
Výstup: 15
Vysvětlení:
Všechny podřetězce s splňují k-omezení.

Omezení:

1 <= s.length <= 50
1 <= k <= s.length
s[i] is either '0' or '1'.

Je zadán binární řetězec s a celé číslo k.
Binární řetězec splňuje podmínku k, pokud platí jedna z následujících podmínek:

Počet nul v řetězci je nejvýše k.
Počet jedniček v řetězci je nejvýše k.

Vraťte celé číslo označující počet podřetězců s, které splňují podmínku k.

Příklad 1:

Vstup: s ="10101", k = 1
Výstup: 12
Vysvětlení:
Každý podřetězec s kromě podřetězců "1010“, "10101“ a "0101“ splňuje podmínku k.

Příklad 2:

Vstup: s = "1010101“, k = 2
Výstup: 25
Vysvětlení:
Každý podřetězec s kromě podřetězců s délkou větší než 5 splňuje podmínku k.

Příklad 3:

Vstup: s = "11111“, k = 1
Výstup: 15
Vysvětlení:
Všechny podřetězce s splňují podmínku k.

Omezení:

1 <= s.length <= 50
1 <= k <= s.length
s[i] je buď '0' nebo '1'.


Máte dvě pole celých čísel energyDrinkA a energyDrinkB o stejné délce n, která vám poskytl futuristický sportovní vědec. Tato pole představují energetické zisky za hodinu poskytované dvěma různými energetickými nápoji, A a B.

Chcete maximalizovat svůj celkový energetický zisk tím, že budete každý hodinu pít jeden energetický nápoj. Pokud však chcete přejít z jednoho energetického nápoje na druhý, musíte počkat jednu hodinu, aby se váš organismus vyčistil (to znamená, že v té hodině nezískáte žádný energetický zisk).

Vraťte maximální celkový energetický zisk, který můžete získat během následujících n hodin. Můžete začít konzumací kteréhokoliv z těchto dvou energetických nápojů.

Příklad 1:

Vstup: energyDrinkA = [1,3,1], energyDrinkB = [3,1,1]
Výstup: 5
Vysvětlení:
K dosažení energetického zisku 5 pijte pouze energetický nápoj A (nebo pouze B).

Příklad 2:

Vstup: energyDrinkA = [4,1,1], energyDrinkB = [1,1,3]
Výstup: 7
Vysvětlení:
K dosažení energetického zisku 7:

Pijte energetický nápoj A první hodinu.
Přejděte na energetický nápoj B a ztratíme energetický zisk z druhé hodiny.
Získáme energetický zisk z nápoje B třetí hodinu.

Omezení:

n == energyDrinkA.length == energyDrinkB.length
3 <= n <= 10^5
1 <= energyDrinkA[i], energyDrinkB[i] <= 10^5

Dostanete dvě celočíselná pole, energyDrinkA a energyDrinkB o stejné délce n od futuristického sportovního vědce. Tato pole představují zvýšení energie za hodinu poskytované dvěma různými energetickými nápoji, A a B.
Chcete maximalizovat svůj celkový energetický boost pitím jednoho energetického nápoje za hodinu. Pokud však chcete přejít z konzumace jednoho energetického nápoje na druhý, musíte počkat jednu hodinu, než se váš systém vyčistí (což znamená, že za tu hodinu nedostanete žádnou dávku energie).
Vrátí maximální celkový energetický boost, který můžete získat v následujících n hodinách.
Všimněte si, že můžete začít konzumovat kterýkoli ze dvou energetických nápojů.

Příklad 1:

Vstup: energyDrinkA = [1,3,1], energyDrinkB = [3,1,1]
Výstup: 5
Vysvětlení:
Pro získání energetické dávky 5 pijte pouze energetický nápoj A (nebo pouze B).

Příklad 2:

Vstup: energyDrinkA = [4,1,1], energyDrinkB = [1,1,3]
Výstup: 7
Vysvětlení:
Chcete-li získat 7 bodů energie:

První hodinu pijte energetický nápoj A.
Přepneme na energetický nápoj B a ztratíme energetickou dávku z druhé hodiny.
Získejte energetickou dávku nápoje B ve třetí hodině.

Omezení:

n == energyDrinkA.length == energyDrinkB.length
3 <= n <= 10^5
1 <= energyDrinkA[i], energyDrinkB[i] <= 10^5

Futuristický sportovní vědec vám zadá dvě celočíselná pole energyDrinkA a energyDrinkB o stejné délce n. Tato pole představují přírůstky energie za hodinu, které poskytují dva různé energetické nápoje A a B.
Chcete maximalizovat celkový přírůstek energie vypitím jednoho energetického nápoje za hodinu. Pokud však chcete přejít z konzumace jednoho energetického nápoje na druhý, musíte počkat jednu hodinu, aby se váš organismus vyčistil (což znamená, že v této hodině nezískáte žádný příliv energie).
Vraťte maximální celkový nárůst energie, který můžete získat v následujících n hodinách.
Všimněte si, že můžete začít konzumovat kterýkoli z obou energetických nápojů.

Příklad 1:

Vstup: energyDrinkA = [1,3,1], energyDrinkB = [3,1,1].
Výstup: 5
Vysvětlení:
Abyste získali příliv energie 5, vypijte pouze energetický nápoj A (nebo pouze B).

Příklad 2:

Vstup: energyDrinkA = [4,1,1], energyDrinkB = [1,1,3].
Výstup: 7
Vysvětlení:
Pro získání přídavku energie 7:

Vypijte energetický nápoj A během první hodiny.
Pokud přejdeme na energetický nápoj B, ztratíme energetickou dávku z druhé hodiny.
Ve třetí hodině získáme energetickou dávku nápoje B.

Omezení:

n == energyDrinkA.length == energyDrinkB.length
3 <= n <= 10^5
1 <= energyDrinkA[i], energyDrinkB[i] <= 10^5


Jsou dána dvě celá kladná čísla n a k.
Celé číslo x se nazývá k-palindromické, jestliže:

x je palindrom.
x je dělitelné číslem k.

Vraťte největší celé číslo o n číslicích (jako řetězec), které je k-palindromické.
Všimněte si, že celé číslo nesmí mít počáteční nuly.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: „595“
Vysvětlení:
595 je největší k-palindromické celé číslo se 3 číslicemi.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: „8“
Vysvětlení:
4 a 8 jsou jediná k-palindromická celá čísla s 1 číslicí.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: „89898“

Omezení:

1 <= n <= 10^5
1 <= k <= 9

Jsou vám dána dvě kladná celá čísla n a k.
Celé číslo x se nazývá k-palindromické, pokud:

x je palindrom.
x je dělitelné k.

Vrátí největší celé číslo s n číslicemi (jako řetězec), které je k-palindromické.
Všimněte si, že celé číslo nesmí mít úvodní nuly.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: "595"
Vysvětlení:
595 je největší k-palindromické celé číslo se 3 číslicemi.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: "8"
Vysvětlení:
4 a 8 jsou jediná k-palindromická celá čísla s 1 číslicí.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: "89898"

Omezení:

1 <= n <= 10^5
1 <= k <= 9

Jsou dána dvě celá kladná čísla n a k.
Celé číslo x se nazývá k-palindromické, jestliže:

x je palindrom.
x je dělitelné číslem k.

Vraťte největší celé číslo o n číslicích (jako řetězec), které je k-palindromické.
Pamatujte, že celé číslo nesmí mít počáteční nuly.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: „595“
Vysvětlení:
595 je největší k-palindromické celé číslo se 3 číslicemi.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: „8“
Vysvětlení:
4 a 8 jsou jediná k-palindromická celá čísla s 1 číslicí.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: „89898“

Omezení:

1 <= n <= 10^5
1 <= k <= 9


Máte dané pole celých čísel nums, celé číslo k a celé číslo multiplier. Musíte provést k operací na nums. V každé operaci:

Najděte minimální hodnotu x v nums. Pokud se minimální hodnota vyskytuje vícekrát, vyberte tu, která se objeví jako první.
Nahraďte vybranou minimální hodnotu x hodnotou x * multiplier.

Vraťte pole celých čísel, které reprezentuje konečný stav nums po provedení všech k operací.

Příklad 1:

Vstup: nums = [2,1,3,5,6], k = 5, multiplier = 2
Výstup: [8,4,6,5,6]
Vysvětlení:

| Operace | Výsledek |
|---------|----------|
| Po operaci 1 | [2, 2, 3, 5, 6] |
| Po operaci 2 | [4, 2, 3, 5, 6] |
| Po operaci 3 | [4, 4, 3, 5, 6] |
| Po operaci 4 | [4, 4, 6, 5, 6] |
| Po operaci 5 | [8, 4, 6, 5, 6] |

Příklad 2:

Vstup: nums = [1,2], k = 3, multiplier = 4
Výstup: [16,8]
Vysvětlení:

| Operace | Výsledek |
|---------|----------|
| Po operaci 1 | [4, 2] |
| Po operaci 2 | [4, 8] |
| Po operaci 3 | [16, 8] |

Omezení:

1 <= nums.length <= 100
1 <= nums[i] <= 100
1 <= k <= 10
1 <= multiplier <= 5

Dostanete celočíselné pole nums, celé číslo k a násobitel celých čísel.
Je třeba provést k operací s čísly. V každé operaci:

Najděte minimální hodnotu x v číselech. Pokud existuje více výskytů minimální hodnoty, vyberte ten, který se zobrazí jako první.
Nahraďte vybranou minimální hodnotu x multiplikátor x *.

Vrací celé pole označující konečný stav nums po provedení všech k operací.

Příklad 1:

Vstup: nums = [2,1,3,5,6], k = 5, multiplier = 2
Výstup: [8,4,6,5,6]
Vysvětlení:

Operace
Výsledek

Po operaci 1
[2, 2, 3, 5, 6]

Po operaci 2
[4, 2, 3, 5, 6]

Po operaci 3
[4, 4, 3, 5, 6]

Po operaci 4
[4, 4, 6, 5, 6]

Po operaci 5
[8, 4, 6, 5, 6]

Příklad 2:

Vstup: nums = [1,2], k = 3, multiplier = 4
Výstup: [16,8]
Vysvětlení:

Operace
Výsledek

Po operaci 1
[4, 2]

Po operaci 2
[4, 8]

Po operaci 3
[16, 8]

Omezení:

1 <= nums.length <= 100
1 <= nums[i] <= 100
1 <= k <= 10
1 <= multiplier <= 5


Dán je pole nums skládající se z kladných celých čísel.
V tomto problému nazýváme dvě celá čísla x a y téměř rovná, pokud se obě celá čísla mohou stát rovná po provedení následující operace nejvýše jednou:

Vyberte buď x nebo y a prohoďte libovolné dvě číslice ve vybraném čísle.

Vraťte počet indexů i a j v nums, kde i < j, tak, že nums[i] a nums[j] jsou téměř rovná. Všimněte si, že je povoleno, aby celé číslo mělo vedoucí nuly po provedení operace.

Příklad 1:

Vstup: nums = [3,12,30,17,21]
Výstup: 2
Vysvětlení:
Téměř rovné páry prvků jsou:

3 a 30. Prohozením 3 a 0 ve 30 získáte 3.
12 a 21. Prohozením 1 a 2 ve 12 získáte 21.

Příklad 2:

Vstup: nums = [1,1,1,1,1]
Výstup: 10
Vysvětlení:
Každé dva prvky v poli jsou téměř rovné.

Příklad 3:

Vstup: nums = [123,231]
Výstup: 0
Vysvětlení:
Nemůžeme prohodit žádné dvě číslice z 123 nebo 231, aby se dosáhlo druhého.

Omezení:

2 <= nums.length <= 100
1 <= nums[i] <= 10^6

Dostanete pole nums skládající se z kladných celých čísel.
Dvě celá čísla x a y v tomto problému nazýváme téměř rovná, pokud se obě celá čísla mohou rovnat po provedení následující operace nejvýše jednou:

Vyberte buď x nebo y a prohoďte libovolné dvě číslice ve zvoleném čísle.

Vraťte počet indexů i a j v nums, kde i < j tak, že nums[i] a nums[j] jsou téměř stejné.
Všimněte si, že po provedení operace je povoleno, aby celé číslo mělo úvodní nuly.

Příklad 1:

Vstup: nums = [3,12,30,17,21]
Výstup: 2
Vysvětlení:
Téměř stejné dvojice prvků jsou:

3 a 30. Prohozením 3 a 0 v 30 získáte 3.
12 a 21. Prohozením 1 a 2 ve 12 získáte 21.

Příklad 2:

Vstup: nums = [1,1,1,1,1]
Výstup: 10
Vysvětlení:
Každé dva prvky v poli jsou téměř stejné.

Příklad 3:

Vstup: nums = [123 231]
Výstup: 0
Vysvětlení:
Nemůžeme zaměnit žádné dvě číslice 123 nebo 231, abychom dosáhli druhé.

Omezení:

2 <= nums.length <= 100
1 <= nums[i] <= 10^6

Je vám přiděleno pole nums skládající se z kladných celých čísel.
Dvě celá čísla x a y v tomto problému nazýváme téměř stejná, pokud se obě celá čísla mohou stát stejnými po provedení následující operace maximálně jednou:

Vyberte buď x nebo y a zaměňte libovolné dvě číslice ve zvoleném čísle.

Vrátí počet indexů i a j v číslech, kde i < j takové, že nums[i] a nums[j] jsou téměř stejné.
Všimněte si, že je povoleno, aby celé číslo mělo po provedení operace úvodní nuly.

Příklad 1:

Vstup: nums = [3,12,30,17,21]
Výstup: 2
Vysvětlení:
Téměř stejné páry prvků jsou:

3 a 30. Prohozením 3 a 0 ve 30 dostanete 3.
12 a 21. Prohozením 1 a 2 z 12 dostanete 21.

Příklad 2:

Vstup: nums = [1,1,1,1,1]
Výstup: 10
Vysvětlení:
Každé dva prvky v poli jsou téměř stejné.

Příklad 3:

Vstup: nums = [123 231]
Výstup: 0
Vysvětlení:
Nemůžeme zaměnit žádné dvě číslice 123 nebo 231, abychom se dostali k druhé.

Omezení:

2 <= nums.length <= 100
1 <= nums[i] <= 10^6


Máte dvě řetězce, `coordinate1` a `coordinate2`, které reprezentují souřadnice políčka na šachovnici o rozměrech 8 x 8.
Níže je pro referenci znázorněna šachovnice.

Vrátí `true`, pokud mají tato dvě políčka stejnou barvu, jinak vrátí `false`.
Souřadnice vždy reprezentuje platné políčko šachovnice. Souřadnice bude vždy ve formátu, kdy písmeno (označující sloupec) je první a číslo (označující řádek) je druhé.

Příklad 1:

Vstup: `coordinate1 = "a1"`, `coordinate2 = "c3"`
Výstup: `true`
Vysvětlení:
Obě políčka jsou černá.

Příklad 2:

Vstup: coordinate1 = "a1", coordinate2 = "h3"
Výstup: false
Vysvětlení:
Čtverec "a1" je černý a "h3" je bílý.

Omezení:

coordinate1.length == coordinate2.length == 2
'a' <= coordinate1[0], coordinate2[0] <= 'h'
'1' <= coordinate1[1], coordinate2[1] <= '8'

Dostanete dva řetězce, souřadnice1 a souřadnice2, které představují souřadnice čtverce na šachovnici 8 x 8.
Níže je šachovnice pro referenci.

Vrátí hodnotu true, pokud mají tyto dva čtverce stejnou barvu, a hodnotu false.
Souřadnice bude vždy představovat platné šachovnicové pole. Souřadnice bude mít vždy nejprve písmeno (označující její sloupec) a číslo druhé (označující její řádek).

Příklad 1:

Vstup: coordinate1 = "a1", coordinate2 = "c3"
Výstup: true
Vysvětlení:
Oba čtverce jsou černé.

Příklad 2:

Vstup: coordinate1 = "a1", coordinate2 = "h3"
Výstup: false
Vysvětlení:
Čtverec "a1" je černý a "h3" je bílý.

Omezení:

coordinate1.length == coordinate2.length == 2
'a' <= coordinate1[0], coordinate2[0] <= 'h'
'1' <= coordinate1[1], coordinate2[1] <= '8'

Jsou dány dva řetězce, souřadnice1 a souřadnice2, které představují souřadnice čtverce na šachovnici 8 x 8.
Níže je šachovnice pro referenci.

Vraťte true, pokud mají tyto dva čtverce stejnou barvu, a false v opačném případě.
Souřadnice bude vždy představovat platný čtverec šachovnice. Souřadnice bude mít vždy na prvním místě písmeno (označující její sloupec) a na druhém číslici (označující její řádek).

Příklad 1:

Vstup: souřadnice1 = „a1“, souřadnice2 = „c3“.
Výstup: true
Vysvětlení:
Oba čtverce jsou černé.

Příklad 2:

Vstup: souřadnice1 = „a1“, souřadnice2 = „h3“
Výstup: false
Vysvětlení:
Čtverec „a1“ je černý a „h3“ je bílý.

Omezení:

souřadnice1.length == souřadnice2.length == 2
'a' <= coordinate1[0], coordinate2[0] <= 'h'
„1“ <= coordinate1[1], coordinate2[1] <= “8


Existuje nekonečná 2D rovina.
Máte kladné celé číslo k. Dostanete také dotazy 2D pole, které obsahuje následující dotazy:

dotazy[i] = [x, y]: Postavte překážku na souřadnici (x, y) v rovině. Při tomto dotazu je zaručeno, že na této souřadnici není žádná překážka.

Po každém dotazu je potřeba zjistit vzdálenost k^té nejbližší překážky od počátku.
Vrátí výsledky celočíselného pole, kde results[i] označuje k^-tou nejbližší překážku po dotazu i, nebo results[i] == -1, pokud existuje méně než k překážek.
Všimněte si, že zpočátku nikde nejsou žádné překážky.
Vzdálenost překážky na souřadnici (x, y) od počátku je dána |x| + |y|.

Příklad 1:

Vstup: dotazy = [[1,2],[3,4],[2,3],[-3,0]], k = 2
Výstup: [-1,7,5,3]
Vysvětlení:

Na začátku je 0 překážek.
Po dotazech[0] existují méně než 2 překážky.
Po dotazech[1] jsou ve vzdálenostech 3 a 7 překážky.
Po dotazech[2] jsou ve vzdálenostech 3, 5 a 7 překážky.
Po dotazech[3] jsou ve vzdálenostech 3, 3, 5 a 7 překážky.

Příklad 2:

Vstup: dotazy = [[5,5],[4,4],[3,3]], k = 1
Výstup: [10,8,6]
Vysvětlení:

Po dotazech[0] je ve vzdálenosti 10 překážka.
Po dotazech[1] jsou ve vzdálenostech 8 a 10 překážky.
Po dotazech[2] jsou ve vzdálenostech 6, 8 a 10 překážky.

Omezení:

1 <= dotazy.length <= 2 * 10^5
Všechny dotazy[i] jsou jedinečné.
-10^9 <= dotazy[i][0], dotazy[i][1] <= 10^9
1 <= k <= 10^5

Na nekonečné 2D rovině.
Je dán kladný celek k. Je také dán 2D pole queries, které obsahuje následující dotazy:

queries[i] = [x, y]: Postav překážku na souřadnici (x, y) na rovině. Je zaručeno, že na této souřadnici není žádná překážka, když je tento dotaz proveden.

Po každém dotazu je třeba najít vzdálenost k^té nejbližší překážky od počátku.
Vrátit celočíselné pole results, kde results[i] označuje k^tou nejbližší překážku po dotazu i, nebo results[i] == -1, pokud je méně než k překážek.
Začněme s žádnými překážkami nikde.
Vzdálenost překážky na souřadnici (x, y) od počátku je dána |x| + |y|.

Příklad 1:

Vstup: queries = [[1,2],[3,4],[2,3],[-3,0]], k = 2
Výstup: [-1,7,5,3]
Vysvětlení:

Zpočátku je 0 překážek.
Po queries[0] je méně než 2 překážky.
Po queries[1] jsou překážky ve vzdálenostech 3 a 7.
Po queries[2] jsou překážky ve vzdálenostech 3, 5 a 7.
Po queries[3] jsou překážky ve vzdálenostech 3, 3, 5 a 7.

Příklad 2:

Vstup: queries = [[5,5],[4,4],[3,3]], k = 1
Výstup: [10,8,6]
Vysvětlení:

Po queries[0] je překážka ve vzdálenosti 10.
Po queries[1] jsou překážky ve vzdálenostech 8 a 10.
Po queries[2] jsou překážky ve vzdálenostech 6, 8 a 10.

Omezení:

1 <= queries.length <= 2 * 10^5
Všechny queries[i] jsou unikátní.
-10^9 <= queries[i][0], queries[i][1] <= 10^9
1 <= k <= 10^5


Máte 2D matici grid, která se skládá z kladných celých čísel.
Musíte vybrat jednu nebo více buněk z matice tak, aby byly splněny následující podmínky:

Žádné dvě vybrané buňky nejsou ve stejném řádku matice.
Hodnoty v množině vybraných buněk jsou jedinečné.

Vaše skóre bude součet hodnot vybraných buněk.
Vrátit maximální skóre, kterého můžete dosáhnout.

Příklad 1:

Vstup: grid = [[1,2,3],[4,3,2],[1,1,1]]
Výstup: 8
Vysvětlení:

Můžeme vybrat buňky s hodnotami 1, 3 a 4, které jsou výše zvýrazněny.

Příklad 2:

Vstup: grid = [[8,7,6],[8,3,2]]
Výstup: 15
Vysvětlení:

Můžeme vybrat buňky s hodnotami 7 a 8, které jsou výše zvýrazněny.

Omezení:

1 <= grid.length, grid[i].length <= 10
1 <= grid[i][j] <= 100

Dostanete 2D maticovou mřížku skládající se z kladných celých čísel.
Z matice je nutné vybrat jednu nebo více buněk tak, aby byly splněny následující podmínky:

Žádné dvě vybrané buňky nejsou ve stejném řádku matice.
Hodnoty v sadě vybraných buněk jsou jedinečné.

Vaše skóre bude součtem hodnot vybraných buněk.
Vraťte maximální skóre, kterého můžete dosáhnout.

Příklad 1:

Vstup: grid = [[1,2,3],[4,3,2],[1,1,1]]
Výstup: 8
Vysvětlení:

Můžeme vybrat buňky s hodnotami 1, 3 a 4, které jsou barevně uvedeny výše.

Příklad 2:

Vstup: grid = [[8,7,6],[8,3,2]]
Výstup: 15
Vysvětlení:

Můžeme vybrat buňky s hodnotami 7 a 8, které jsou barevně uvedeny výše.

Omezení:

1 <= grid.length, grid[i].length <= 10
1 <= grid[i][j] <= 100

Dostanete 2D maticovou mřížku skládající se z kladných celých čísel.
Musíte vybrat jednu nebo více buněk z matice tak, aby byly splněny následující podmínky:

Žádné dvě vybrané buňky nejsou ve stejném řádku matice.
Hodnoty v sadě vybraných buněk jsou jedinečné.

Vaše skóre bude součtem hodnot vybraných buněk.
Vraťte maximální skóre, kterého můžete dosáhnout.

Příklad 1:

Vstup: mřížka = [[1,2,3],[4,3,2],[1,1,1]]
Výstup: 8
Vysvětlení:

Můžeme vybrat buňky s hodnotami 1, 3 a 4, které jsou obarveny výše.

Příklad 2:

Vstup: mřížka = [[8,7,6],[8,3,2]]
Výstup: 15
Vysvětlení:

Můžeme vybrat buňky s hodnotami 7 a 8, které jsou obarveny výše.

Omezení:

1 <= grid.length, grid[i].length <= 10
1 <= mřížka[i][j] <= 100


Dostanete pole s počtem n celých čísel a 2D celočíselné pole dotazů o velikosti q, kde dotazy[i] = [l_i, r_i].
Pro každý dotaz musíte najít maximální skóre XOR libovolného podpole nums[l_i..r_i].
Skóre XOR pole a se zjistí opakovaným aplikováním následujících operací na a tak, aby zůstal pouze jeden prvek, to je skóre:

Současně nahraďte a[i] a[i] XOR a[i + 1] pro všechny indexy i kromě posledního.
Odstraňte poslední prvek z a.

Vrátí odpověď pole o velikosti q, kde odpověď[i] je odpověď na dotaz i.

Příklad 1:

Vstup: nums = [2,8,4,32,16,1],queries = [[0,2],[1,4],[0,5]]
Výstup: [12,60,60]
Vysvětlení:
V prvním dotazu má nums[0..2] 6 podpolí [2], [8], [4], [2, 8], [8, 4] a [2, 8, 4] každé s příslušné skóre XOR 2, 8, 4, 10, 12 a 6. Odpověď na dotaz je 12, což je největší ze všech skóre XOR.
Ve druhém dotazu je podpole nums[1..4] s největším skóre XOR nums[1..4] se skóre 60.
Ve třetím dotazu je podpole nums[0..5] s největším skóre XOR nums[1..4] se skóre 60.

Příklad 2:

Vstup: nums = [0,7,3,2,8,5,1],queries = [[0,3],[1,5],[2,4],[2,6],[5, 6]]
Výstup: [7,14,11,14,5]
Vysvětlení:

Index
nums[l_i..r_i]
Maximální XOR Score Subarray
Maximální subarray XOR skóre

0
[0, 7, 3, 2]
[7]
7

1
[7, 3, 2, 8, 5]
[7, 3, 2, 8]
14

2
[3, 2, 8]
[3, 2, 8]
11

3
[3, 2, 8, 5, 1]
[2, 8, 5, 1]
14

4
[5, 1]
[5]
5
Omezení:

1 <= n == nums.length <= 2000
0 <= nums[i] <= 2^31 - 1
1 <= q == dotazy.length <= 10^5
queries[i].length == 2
queries[i] = [l_i, r_i]
0 <= l_i <= r_i <= n - 1

Máte pole nums obsahující n celých čísel a 2D pole queries velikosti q, kde queries[i] = [l_i, r_i]. Pro každý dotaz musíte najít maximální XOR skóre jakékoliv podpole nums[l_i..r_i]. XOR skóre pole a se najde opakovaným aplikováním následujících operací na a, až zůstane pouze jeden prvek, což je skóre:

Současně nahraďte a[i] výrazem a[i] XOR a[i + 1] pro všechny indexy i kromě posledního. Odstraňte poslední prvek a.

Vrátit pole answer velikosti q, kde answer[i] je odpověď na dotaz i.

Příklad 1:

Vstup: nums = [2,8,4,32,16,1], queries = [[0,2],[1,4],[0,5]] Výstup: [12,60,60] Vysvětlení: V prvním dotazu má nums[0..2] 6 podpoli [2], [8], [4], [2, 8], [8, 4], a [2, 8, 4] každé s příslušným XOR skóre 2, 8, 4, 10, 12 a 6. Odpověď na dotaz je 12, největší ze všech XOR skóre. Ve druhém dotazu, podpole nums[1..4] s největším XOR skóre je nums[1..4] s skóre 60. Ve třetím dotazu, podpole nums[0..5] s největším XOR skóre je nums[1..4] s skóre 60.

Příklad 2:

Vstup: nums = [0,7,3,2,8,5,1], queries = [[0,3],[1,5],[2,4],[2,6],[5,6]] Výstup: [7,14,11,14,5] Vysvětlení:

Index
nums[l_i..r_i]
Podpole s maximálním XOR skóre
Maximální XOR skóre podpoli

0
[0, 7, 3, 2]
[7]
7

1
[7, 3, 2, 8, 5]
[7, 3, 2, 8]
14

2
[3, 2, 8]
[3, 2, 8]
11

3
[3, 2, 8, 5, 1]
[2, 8, 5, 1]
14

4
[5, 1]
[5]
5

Omezení:

1 <= n == nums.length <= 2000 0 <= nums[i] <= 2^31 - 1 1 <= q == queries.length <= 10^5 queries[i].length == 2 queries[i] = [l_i, r_i] 0 <= l_i <= r_i <= n - 1

Dostanete pole s čísly n celých čísel a 2D celočíselné pole se dotazuje o velikosti q, kde queries[i] = [l_i, r_i].
Pro každý dotaz musíte najít maximální skóre XOR libovolného podpole nums[l_i.. r_i].
Skóre XOR pole a se zjistí opakovaným použitím následujících operací na a tak, že zůstane pouze jeden prvek, a to skóre:

Současně nahraďte a[i] za a[i] XOR a[i + 1] pro všechny indexy i kromě posledního.
Odstraňte poslední prvek prvku a.

Vrátí odpověď pole o velikosti q, kde answer[i] je odpověď na dotaz i.

Příklad 1:

Vstup: nums = [2,8,4,32,16,1], queries = [[0,2],[1,4],[0,5]]
Výstup: [12,60,60]
Vysvětlení:
V prvním dotazu má nums[0..2] 6 podpolí [2], [8], [4], [2, 8], [8, 4] a [2, 8, 4] s příslušným skóre XOR 2, 8, 4, 10, 12 a 6. Odpověď na dotaz je 12, což je největší ze všech skóre XOR.
Ve druhém dotazu je podpole nums[1..4] s největším skóre XOR nums[1..4] se skóre 60.
Ve třetím dotazu je podpole nums[0..5] s největším skóre XOR nums[1..4] se skóre 60.

Příklad 2:

Vstup: nums = [0,7,3,2,8,5,1], queries = [[0,3],[1,5],[2,4],[2,6],[5,6]]
Výstup: [7,14,11,14,5]
Vysvětlení:

Index
nums[l_i.. r_i]
Podpole maximálního skóre XOR
Maximální skóre XOR podpole

0
[0, 7, 3, 2]
[7]
7

1
[7, 3, 2, 8, 5]
[7, 3, 2, 8]
14

2
[3, 2, 8]
[3, 2, 8]
11

3
[3, 2, 8, 5, 1]
[2, 8, 5, 1]
14

4
[5, 1]
[5]
5

Omezení:

1 <= n == nums.length <= 2000
0 <= nums[i] <= 2^31 - 1
1 <= q == queries.length <= 10^5
queries[i].length == 2
queries[i] = [l_i, r_i]
0 <= l_i <= r_i <= n - 1


Je vám dáno datum ve formátu řetězce, který reprezentuje datum v gregoriánském kalendáři v tvaru yyyy-mm-dd.
Datum lze zapsat ve své binární reprezentaci, která se získá převedením roku, měsíce a dne na jejich binární reprezentace bez úvodních nul a jejich zapsáním ve formátu rok-měsíc-den.
Návratová hodnota je binární reprezentace data.

Příklad 1:

Vstup: date = "2080-02-29"
Výstup: "100000100000-10-11101"
Vysvětlení:
100000100000, 10 a 11101 jsou binární reprezentace 2080, 02 a 29.

Příklad 2:

Vstup: date = "1900-01-01"
Výstup: "11101101100-1-1"
Vysvětlení:
11101101100, 1 a 1 jsou binární reprezentace 1900, 1 a 1.

Omezení:

date.length == 10
date[4] == date[7] == '-', a všechny ostatní date[i] jsou číslice.
Vstup je generován tak, že date reprezentuje platné datum v gregoriánském kalendáři mezi 1. lednem 1900 a 31. prosincem 2100 (včetně).

Je zadán řetězec datum představující datum gregoriánského kalendáře ve formátu rrrr-mm-dd.
Datum lze zapsat v jeho binární reprezentaci získané převodem roku, měsíce a dne na jejich binární reprezentaci bez počátečních nul a jejich zápisem ve formátu rok-měsíc-den.
Vraťte binární reprezentaci data.

Příklad 1:

Vstup: date ="2080-02-29"
Výstup:  "100000100000-10-11101"
Vysvětlení:
100000100000, 10 a 11101 jsou binární reprezentace čísel 2080, 02 a 29.

Příklad 2:

Vstup: datum =  "1900-01-01"
Výstup: "11101101100-1-1"
Vysvětlení:
11101101100, 1 a 1 jsou binární reprezentace 1900, 1 a 1.

Omezení:

date.length == 10
date[4] == date[7] == '-' a všechny ostatní date[i] jsou číslice.
Vstup je generován tak, že date představuje platné datum gregoriánského kalendáře mezi 1. lednem 1900 a 31. prosincem 2100 (obojí včetně).

Je vám přiděleno řetězcové datum představující datum gregoriánského kalendáře ve formátu rrrr-mm-dd.
Datum lze zapsat v jeho binární reprezentaci získanou převodem roku, měsíce a dne na jejich binární reprezentaci bez jakýchkoli úvodních nul a jejich zápisem ve formátu rok-měsíc-den.
Vrátí binární vyjádření datumu.

Příklad 1:

Vstup: date = "2080-02-29"
Výstup: "100000100000-10-11101"
Vysvětlení:
100000100000, 10 a 11101 jsou binární reprezentace čísel 2080, 02 a 29.

Příklad 2:

Vstup: date = "1900-01-01"
Výstup: "11101101100-1-1"
Vysvětlení:
11101101100, 1 a 1 jsou binární reprezentace čísel 1900, 1 a 1.

Omezení:

date.length == 10
date[4] == date[7] == '-', a všechna ostatní data[i] jsou číslice.
Vstup je vygenerován tak, aby datum představovalo platné datum gregoriánského kalendáře mezi 1^. lednem 1900 a 31^. prosincem 2100 (obojí včetně).


Je dáno pole celých čísel `start` a celé číslo `d`, které reprezentují `n` intervalů `[start[i], start[i] + d]`.
Vaším úkolem je zvolit `n` celých čísel tak, aby `i`-té číslo patřilo do `i`-tého intervalu. Skóre vybraných čísel je definováno jako minimální absolutní rozdíl mezi libovolnými dvěma zvolenými čísly.
Vrátit maximální možné skóre vybraných čísel.

Příklad 1:

Vstup: start = [6,0,3], d = 2
Výstup: 4
Vysvětlení:
Maximální možné skóre lze získat výběrem čísel: 8, 0 a 4. Skóre těchto vybraných čísel je min(|8 - 0|, |8 - 4|, |0 - 4|), což je rovno 4.

Příklad 2:

Vstup: start = [2,6,13,13], d = 5
Výstup: 5
Vysvětlení:
Maximální možné skóre lze získat výběrem čísel: 2, 7, 13 a 18. Skóre těchto vybraných čísel je min(|2 - 7|, |2 - 13|, |2 - 18|, |7 - 13|, |7 - 18|, |13 - 18|), což je rovno 5.

Omezení:

2 <= start.length <= 10^5
0 <= start[i] <= 10^9
0 <= d <= 10^9

Dostanete pole celých čísel start a celé číslo d, které představuje n intervalů [start[i], start[i] + d].
Budete požádáni, abyste vybrali n celých čísel, kde i^té celé číslo musí patřit do i^-tého intervalu. Skóre vybraných celých čísel je definováno jako minimální absolutní rozdíl mezi libovolnými dvěma vybranými celými čísly.
Vraťte maximální možné skóre vybraných celých čísel.

Příklad 1:

Vstup: start = [6,0,3], d = 2
Výstup: 4
Vysvětlení:
Maximální možné skóre lze získat výběrem celých čísel: 8, 0 a 4. Skóre těchto vybraných celých čísel je min(|8 - 0|, |8 - 4|, |0 - 4|), což se rovná 4.

Příklad 2:

Vstup: start = [2,6,13,13], d = 5
Výstup: 5
Vysvětlení:
Maximální možné skóre lze získat výběrem celých čísel: 2, 7, 13 a 18. Skóre těchto vybraných celých čísel je min(|2 - 7|, |2 - 13|, |2 - 18|, |7 - 13|, |7 - 18|, |13 - 18|), což se rovná 5.

Omezení:

2 <= start.length <= 10^5
0 <= start[i] <= 10^9
0 <= d <= 10^9

Dostanete pole celých čísel start a celé číslo d, které představuje n intervalů [start[i], start[i] + d].
Budete požádáni, abyste zvolili n celých čísel, kde i^-té celé číslo musí patřit do i^tého intervalu. Skóre zvolených celých čísel je definováno jako minimální absolutní rozdíl mezi libovolnými dvěma celými čísly, která byla vybrána.
Vrací maximální možné skóre zvolených celých čísel.

Příklad 1:

Vstup: start = [6,0,3], d = 2
Výstup: 4
Vysvětlení:
Maximální možné skóre lze získat volbou celých čísel: 8, 0 a 4. Skóre těchto zvolených celých čísel je min(|8 - 0|, |8 - 4|, |0 - 4|), což se rovná 4.

Příklad 2:

Vstup: start = [2,6,13,13], d = 5
Výstup: 5
Vysvětlení:
Maximální možné skóre lze získat volbou celých čísel: 2, 7, 13 a 18. Skóre těchto zvolených celých čísel je min(|2 - 7|, |2 - 13|, |2 - 18|, |7 - 13|, |7 - 18|, |13 - 18|), což se rovná 5.

Omezení:

2 <= začátek.length <= 10^5
0 <= start[i] <= 10^9
0 <= d <= 10^9


Máte dané celé pole nums délky n.
Vaším cílem je začít na indexu 0 a dosáhnout indexu n - 1. Skákat můžete pouze na indexy větší než váš aktuální index.
Skóre za skok z indexu i na index j se vypočítá jako (j - i) * nums[i].
Vrátit maximální možné celkové skóre, když dosáhnete posledního indexu.

Příklad 1:

Vstup: nums = [1,3,1,5]
Výstup: 7
Vysvětlení:
Nejprve skočte na index 1 a poté skočte na poslední index. Konečné skóre je 1 * 1 + 2 * 3 = 7.

Příklad 2:

Vstup: nums = [4,3,1,3,2]
Výstup: 16
Vysvětlení:
Skočte přímo na poslední index. Konečné skóre je 4 * 4 = 16.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5

Dostanete celočíselné pole numer délky n.
Vaším cílem je začít na indexu 0 a dosáhnout indexu n - 1. Můžete přejít pouze na indexy vyšší, než je váš aktuální index.
Skóre pro skok z indexu i na index j se vypočítá jako (j - i) * nums[i].
Vraťte maximální možné celkové skóre v době, kdy dosáhnete posledního indexu.

Příklad 1:

Vstup: nums = [1,3,1,5]
Výstup: 7
Vysvětlení:
Nejprve přejděte na index 1 a poté přejděte na poslední index. Konečné skóre je 1 * 1 + 2 * 3 = 7.

Příklad 2:

Vstup: nums = [4,3,1,3,2]
Výstup: 16
Vysvětlení:
Přejít přímo na poslední index. Konečné skóre je 4 * 4 = 16.

Omezení:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^5


Na šachovnici o velikosti 50 x 50 je jeden jezdec a několik pěšců. Jsou vám dána dvě celá čísla kx a ky, kde (kx, ky) označuje pozici jezdce, a 2D pole positions, kde positions[i] = [x_i, y_i] označuje pozici pěšců na šachovnici. Alice a Bob hrají hru na tahy, kde Alice začíná. V každém tahu hráče:

Hráč vybere pěšce, který stále existuje na desce, a zachytí ho jezdcem s co nejmenším počtem tahů. Hráč si může vybrat jakéhokoli pěšce, nemusí to být ten, který je nejrychleji zachytitelný.
Při zachycení vybraného pěšce může jezdec procházet kolem jiných pěšců bez jejich zachycení. V tomto tahu může být zachycen pouze vybraný pěšec.

Alice se snaží maximalizovat součet počtu pohybů obou hráčů, dokud na šachovnici nejsou žádní pěšci, zatímco Bob se snaží je minimalizovat.
Vrátí maximální celkový počet tahů provedený během hry, který může Alice dosáhnout, za předpokladu, že oba hráči hrají optimálně.
Všimněte si, že v jednom tahu může jezdec šachovnice přejít do osmi možných pozic, jak je ilustrováno níže. Každý pohyb je o dvě pole v hlavním směru a jedno pole v ortogonálním směru.

Příklad 1:

Vstup: kx = 1, ky = 1, positions = [[0,0]]
Výstup: 4
Vysvětlení:

Jezdec potřebuje 4 tahy, aby dosáhl pěšce na (0, 0).

Příklad 2:

Vstup: kx = 0, ky = 2, positions = [[1,1],[2,2],[3,3]]
Výstup: 8
Vysvětlení:

Alice vybere pěšce na (2, 2) a zachytí ho ve dvou tazích: (0, 2) -> (1, 4) -> (2, 2).
Bob vybere pěšce na (3, 3) a zachytí ho ve dvou tazích: (2, 2) -> (4, 1) -> (3, 3).
Alice vybere pěšce na (1, 1) a zachytí ho ve čtyřech tazích: (3, 3) -> (4, 1) -> (2, 2) -> (0, 3) -> (1, 1).

Příklad 3:

Vstup: kx = 0, ky = 0, positions = [[1,2],[2,4]]
Výstup: 3
Vysvětlení:

Alice vybere pěšce na (2, 4) a zachytí ho ve dvou tazích: (0, 0) -> (1, 2) -> (2, 4). Všimněte si, že pěšec na (1, 2) není zachycen.
Bob vybere pěšce na (1, 2) a zachytí ho v jednom tahu: (2, 4) -> (1, 2).

Omezení:

0 <= kx, ky <= 49
1 <= positions.length <= 15
positions[i].length == 2
0 <= positions[i][0], positions[i][1] <= 49
Všechny positions[i] jsou unikátní.
Vstup je generován tak, že positions[i] != [kx, ky] pro všechny 0 <= i < positions.length.

Je zde šachovnice 50 x 50 s jedním jezdcem a několika pěšci. Jsou vám dána dvě celá čísla kx a ky, kde (kx, ky) označuje pozici jezdce, a pozice 2D pole, kde pozice[i] = [x_i, y_i] označuje pozici pěšců na šachovnici.
Alice a Bob hrají tahovou hru, kde Alice jde jako první. V tahu každého hráče:

Hráč si vybere pěšce, který stále existuje na herním plánu, a zajme ho spolu s jezdcem v co nejmenším počtu tahů. Všimněte si, že hráč si může vybrat libovolného pěšce, nemusí to být pěšec, kterého lze zajmout v nejmenším počtu tahů.
V procesu zajetí vybraného pěšce může jezdec předat další pěšce, aniž by je zajal. V tomto tahu může být zajat pouze vybraný pěšec.

Alice se snaží maximalizovat součet tahů provedených oběma hráči, dokud na šachovnici nejsou žádní pěšci, zatímco Bob se je snaží minimalizovat.
Vraťte maximální celkový počet tahů provedených během hry, kterých může Alice dosáhnout, za předpokladu, že oba hráči hrají optimálně.
Všimněte si, že v jednom tahu má šachový jezdec osm možných pozic, na které se může přesunout, jak je znázorněno níže. Každý pohyb jsou dvě buňky v kardinálním směru, potom jedna buňka v ortogonálním směru.

Příklad 1:

Vstup: kx = 1, ky = 1, pozice = [[0,0]]
Výstup: 4
Vysvětlení:

Jezdec potřebuje 4 tahy, aby dosáhl pěšce na (0, 0).

Příklad 2:

Vstup: kx = 0, ky = 2, pozice = [[1,1],[2,2],[3,3]]
Výstup: 8
Vysvětlení:

Alice vybere pěšce na (2, 2) a zajme ho ve dvou tazích: (0, 2) -> (1, 4) -> (2, 2).
Bob vybere pěšce na (3, 3) a zajme ho dvěma tahy: (2, 2) -> (4, 1) -> (3, 3).
Alice vybere pěšce na (1, 1) a zajme ho ve čtyřech tazích: (3, 3) -> (4, 1) -> (2, 2) -> (0, 3) -> (1, 1) .

Příklad 3:

Vstup: kx = 0, ky = 0, pozice = [[1,2],[2,4]]
Výstup: 3
Vysvětlení:

Alice vybere pěšce na (2, 4) a zajme ho ve dvou tazích: (0, 0) -> (1, 2) -> (2, 4). Všimněte si, že pěšec na (1, 2) není zajat.
Bob vybere pěšce na (1, 2) a zajme jej jedním tahem: (2, 4) -> (1, 2).

Omezení:

0 <= kx, ky <= 49
1 <= pozice.length <= 15
pozice[i].length == 2
0 <= pozice[i][0], pozice[i][1] <= 49
Všechny pozice[i] jsou jedinečné.
Vstup je generován tak, že pozice[i] != [kx, ky] pro všechny 0 <= i < pozice.length.


Dostanete celočíselné pole a o velikosti 4 a další celé pole b o velikosti alespoň 4.
Musíte vybrat 4 indexy i_0, i_1, i_2 a i_3 z pole b tak, že i_0 < i_1 < i_2 < i_3. Vaše skóre se bude rovnat hodnotě a[0] * b[i_0] + a[1] * b[i_1] + a[2] * b[i_2] + a[3] * b[i_3].
Vraťte maximální skóre, kterého můžete dosáhnout.

Příklad 1:

Vstup: a = [3,2,5,6], b = [2,-6,4,-5,-3,2,-7]
Výstup: 26
Vysvětlení:
Můžeme zvolit indexy 0, 1, 2 a 5. Skóre bude 3 * 2 + 2 * (-6) + 5 * 4 + 6 * 2 = 26.

Příklad 2:

Vstup: a = [-1,4,5,-2], b = [-5,-1,-3,-2,-4]
Výstup: -1
Vysvětlení:
Můžeme si vybrat indexy 0, 1, 3 a 4. Skóre bude (-1) * (-5) + 4 * (-1) + 5 * (-2) + (-2) * (-4 ) = -1.

Omezení:

a.length == 4
4 <= b.length <= 10^5
-10^5 <= a[i], b[i] <= 10^5

Máte dané celočíselné pole a velikosti 4 a další celočíselné pole b velikosti alespoň 4.
Musíte vybrat 4 indexy i_0, i_1, i_2 a i_3 z pole b tak, aby i_0 < i_1 < i_2 < i_3. Vaše skóre bude rovno hodnotě a[0] * b[i_0] + a[1] * b[i_1] + a[2] * b[i_2] + a[3] * b[i_3].
Vraťte maximální skóre, kterého můžete dosáhnout.

Příklad 1:

Vstup: a = [3,2,5,6], b = [2,-6,4,-5,-3,2,-7]
Výstup: 26
Vysvětlení:
Můžeme vybrat indexy 0, 1, 2 a 5. Skóre bude 3 * 2 + 2 * (-6) + 5 * 4 + 6 * 2 = 26.

Příklad 2:

Vstup: a = [-1,4,5,-2], b = [-5,-1,-3,-2,-4]
Výstup: -1
Vysvětlení:
Můžeme vybrat indexy 0, 1, 3 a 4. Skóre bude (-1) * (-5) + 4 * (-1) + 5 * (-2) + (-2) * (-4) = -1.

Omezení:

a.length == 4
4 <= b.length <= 10^5
-10^5 <= a[i], b[i] <= 10^5

Je dáno celočíselné pole a o velikosti 4 a další celočíselné pole b o velikosti alespoň 4.
Je třeba vybrat 4 indexy i_0, i_1, i_2 a i_3 z pole b tak, aby i_0 < i_1 < i_2 < i_3. Vaše skóre se bude rovnat hodnotě a[0] * b[i_0] + a[1] * b[i_1] + a[2] * b[i_2] + a[3] * b[i_3].
Vraťte maximální výsledek, kterého můžete dosáhnout.

Příklad 1:

Vstup: a = [3,2,5,6], b = [2,-6,4,-5,-3,2,-7].
Výstup: 26
Vysvětlení:
Můžeme zvolit indexy 0, 1, 2 a 5. Výsledek bude 3 * 2 + 2 * (-6) + 5 * 4 + 6 * 2 = 26.

Příklad 2:

Vstup: a = [-1,4,5,-2], b = [-5,-1,-3,-2,-4].
Výstup: -1
Vysvětlení:
Výstup: Můžeme zvolit indexy 0, 1, 3 a 4. Výsledek bude (-1) * (-5) + 4 * (-1) + 5 * (-2) + (-2) * (-4) = -1.

Omezení:

a.length == 4
4 <= b.length <= 10^5
-10^5 <= a[i], b[i] <= 10^5


Je vám dáno pole řetězců words a řetězec target.
Řetězec x je nazýván platný, pokud je x předponou jakéhokoliv řetězce v words.
Vrátí minimální počet platných řetězců, které mohou být zřetězeny ke tvorbě target.
Pokud není možné vytvořit target, vraťte -1.

Příklad 1:

Vstup: words = ["abc","aaaaa","bcdef"], target = "aabcdabc"
Výstup: 3
Vysvětlení:
Řetězec target může být vytvořen zřetězením:

Předpony délky 2 z words[1], tj. "aa".
Předpony délky 3 z words[2], tj. "bcd".
Předpony délky 3 z words[0], tj. "abc".

Příklad 2:

Vstup: words = ["abababab","ab"], target = "ababaababa"
Výstup: 2
Vysvětlení:
Řetězec target může být vytvořen zřetězením:

Předpony délky 5 z words[0], tj. "ababa".
Předpony délky 5 z words[0], tj. "ababa".

Příklad 3:

Vstup: words = ["abcdef"], target = "xyz"
Výstup: -1

Omezení:

1 <= words.length <= 100
1 <= words[i].length <= 5 * 10^3
Vstup je generován tak, že součet(words[i].length) <= 10^5.
words[i] se skládají pouze z malých písmen anglické abecedy.
1 <= target.length <= 5 * 10^3
target se skládá pouze z malých písmen anglické abecedy.

Dostanete pole řetězcových slov a cílový řetězec.
Řetězec x se nazývá platný, pokud x je předponou libovolného řetězce ve slovech.
Vrátí minimální počet platných řetězců, které lze zřetězit, aby vytvořily cíl. Pokud není možné vytvořit cíl, vraťte -1.

Příklad 1:

Vstup: řetězce = ["abc","aaaaa","bcdef"], cíl = "aabcdabc"
Výstup: 3
Vysvětlení:
Cílový řetězec lze vytvořit zřetězením:

Předpona délky 2 slov[1], tedy „aa“.
Předpona délky 3 slov[2], tedy „bcd“.
Předpona délky 3 slov[0], tj. "abc".

Příklad 2:

Vstup: řetězce = ["abababab","ab"], cíl = "ababaababa"
Výstup: 2
Vysvětlení:
Cílový řetězec lze vytvořit zřetězením:

Předpona délky 5 slov[0], tedy „ababa“.
Předpona délky 5 slov[0], tedy „ababa“.

Příklad 3:

Vstup: řetězce = ["abcdef"], cíl = "xyz"
Výstup: -1

Omezení:

1 <= řetězce .length <= 100
1 <= řetězce [i].length <= 5 * 10^3
Vstup je generován tak, že součet(řetězce [i].length) <= 10^5.
řetězce [i] se skládají pouze z malých anglických písmen.
1 <= target.length <= 5 * 10^3
cíl se skládá pouze z malých anglických písmen.

Je zadáno pole řetězců slov a cíl řetězce.
Řetězec x se nazývá platný, pokud je x prefixem libovolného řetězce ve slovech.
Vraťte minimální počet platných řetězců, které lze spojit do cíle. Pokud není možné vytvořit cíl, vraťte -1.

Příklad 1:

Vstup: words = [„abc“, „aaaaa“, „bcdef“], target = „aabcdabc“
Výstup: 3
Vysvětlení:
Cílový řetězec lze vytvořit zřetězením:

Prefix délky 2 words[1], tj. „aa“.
Prefix délky 3 words[2], tj. „bcd“.
Prefix délky 3 words[0], tj. „abc“.

Příklad 2:

Vstup: words = ["abababab","ab"], target = "ababaababa"
Výstup: 2
Vysvětlení:
Cílový řetězec lze vytvořit zřetězením:

Prefix délky 5 words[0], tj. „ababa“.
Prefix délky 5 words[0], tj. „ababa“.

Příklad 3:

Vstup: words = ["abcdef"], target = "xyz"
Výstup: -1

Omezení:

1 <= words.length <= 100
1 <= words[i].length <= 5 * 10^3
Vstup je generován tak, že sum(words[i].length) <= 10^5.
words[i] se skládají pouze z malých anglických písmen.
1 <= target.length <= 5 * 10^3
cíl se skládá pouze z malých anglických písmen.


Máte dané pole celých čísel `nums` délky `n` a kladné celé číslo `k`.
Výkon pole je definován jako:

- jeho maximální prvek, pokud jsou všechny jeho prvky po sobě jdoucí a seřazené ve vzestupném pořadí.
- `-1` v opačném případě.

Vaším úkolem je najít výkon všech podpolí `nums` velikosti `k`.
Vraťte pole celých čísel `results` délky `n - k + 1`, kde `results[i]` je výkon `nums[i..(i + k - 1)]`.
Příklad 1:

Vstup: nums = [1,2,3,4,3,2,5], k = 3
Výstup: [3,4,-1,-1,-1]
Vysvětlení:
Existuje 5 podpolí nums velikosti 3:

[1, 2, 3] s maximálním prvkem 3.
[2, 3, 4] s maximálním prvkem 4.
[3, 4, 3] jehož prvky nejsou po sobě jdoucí.
[4, 3, 2] jehož prvky nejsou seřazeny.
[3, 2, 5] jehož prvky nejsou po sobě jdoucí.

Příklad 2:

Vstup: nums = [2,2,2,2,2], k = 4
Výstup: [-1,-1]

Příklad 3:

Vstup: nums = [3,2,3,2,3,2], k = 2
Výstup: [-1,3,-1,3,-1]

Omezení:

1 <= n == nums.length <= 500
1 <= nums[i] <= 10^5
1 <= k <= n

Je dáno pole celých čísel n délky n a kladné celé číslo k.
Mocnina pole je definována jako:

Jeho maximální prvek, pokud jsou všechny jeho prvky za sebou a seřazeny vzestupně.
-1 v opačném případě.

Potřebujete zjistit mocninu všech dílčích polí nums o velikosti k.
Vraťte celočíselné pole results o velikosti n - k + 1, kde results[i] je mocnina nums[i..(i + k - 1)].

Příklad 1:

Vstup: nums = [1,2,3,4,3,2,5], k = 3
Výstup: [3,4,-1,-1,-1]
Vysvětlení:
Existuje 5 dílčích polí nums o velikosti 3:

[1, 2, 3] s maximálním prvkem 3.
[2, 3, 4] s maximálním prvkem 4.
[3, 4, 3], jejichž prvky nejsou po sobě jdoucí.
[4, 3, 2], jejichž prvky nejsou seřazeny.
[3, 2, 5], jehož prvky nejsou seřazeny za sebou.

Příklad 2:

Vstup: nums = [2,2,2,2,2], k = 4
Výstup: [-1,-1]

Příklad 3:

Vstup: nums = [3,2,3,2,3,2], k = 2
Výstup: [-1,3,-1,3,-1]

Omezení:

1 <= n == nums.length <= 500
1 <= nums[i] <= 10^5
1 <= k <= n

Je vám dáno pole celých čísel, číselných čísel délky n a kladného celého čísla k.
Výkon pole je definován jako:

Jeho maximální prvek, pokud jsou všechny jeho prvky po sobě jdoucí a seřazené vzestupně.
-1 v opačném případě.

Je třeba zjistit výkon všech podpolí čísel o velikosti k.
Vrací celé pole results o velikosti n - k + 1, kde results[i] je mocnina nums[i.. (i + k - 1)].

Příklad 1:

Vstup: nums = [1,2,3,4,3,2,5], k = 3
Výstup: [3,4,-1,-1,-1]
Vysvětlení:
Existuje 5 podpolí čísel o velikosti 3:

[1, 2, 3] s maximálním prvkem 3.
[2, 3, 4] s maximálním prvkem 4.
[3, 4, 3] jejichž prvky nenásledují po sobě.
[4, 3, 2] jejichž prvky nejsou seřazeny.
[3, 2, 5], jejichž prvky nenásledují po sobě.

Příklad 2:

Vstup: nums = [2,2,2,2,2], k = 4
Výstup: [-1,-1]

Příklad 3:

Vstup: nums = [3,2,3,2,3,2], k = 2
Výstup: [-1,3,-1,3,-1]

Omezení:

1 <= n == nums.length <= 500
1 <= nums[i] <= 10^5
1 <= k <= n


Dostanete m x n 2D pole reprezentující šachovnici, kde board[i][j] představuje hodnotu buňky (i, j).
Věže ve stejném řádku nebo sloupci na sebe navzájem útočí. Na šachovnici musíte umístit tři věže tak, aby na sebe věže neútočily.
Vrátí maximální součet hodnot buněk, na kterých jsou věže umístěny.

Příklad 1:

Vstup: board = [[-3,1,1,1],[-3,1,-3,1],[-3,2,1,1]]
Výstup: 4
Vysvětlení:

Věže můžeme umístit do polí (0, 2), (1, 3) a (2, 1) pro součet 1 + 1 + 2 = 4.

Příklad 2:

Vstup: board = [[1,2,3],[4,5,6],[7,8,9]]
Výstup: 15
Vysvětlení:
Věže můžeme umístit do polí (0, 0), (1, 1) a (2, 2) pro součet 1 + 5 + 9 = 15.

Příklad 3:

Vstup: board = [[1,1,1],[1,1,1],[1,1,1]]
Výstup: 3
Vysvětlení:
Věže můžeme umístit do polí (0, 2), (1, 1) a (2, 0) pro součet 1 + 1 + 1 = 3.

Omezení:

3 <= m == board.length <= 100
3 <= n == board[i].length <= 100
-10^9 <= board[i][j] <= 10^9

Dostanete pole m x n 2D pole představující šachovnici, kde board[i][j] představuje hodnotu buňky (i, j).
Věže ve stejné řadě nebo sloupci na sebe útočí. Na šachovnici musíte umístit tři věže tak, aby na sebe neútočily.
Vrátí maximální součet hodnot buněk, na kterých jsou umístěny věže.

Příklad 1:

Vstup: deska = [[-3,1,1,1],[-3,1,-3,1],[-3,2,1,1]]
Výstup: 4
Vysvětlení:

Můžeme umístit věže do buněk (0, 2), (1, 3) a (2, 1) se součtem 1 + 1 + 2 = 4.

Příklad 2:

Vstup: deska = [[1,2,3],[4,5,6],[7,8,9]]
Výstup: 15
Vysvětlení:
Můžeme umístit věže do buněk (0, 0), (1, 1) a (2, 2) se součtem 1 + 5 + 9 = 15.

Příklad 3:

Vstup: deska = [[1,1,1],[1,1,1],[1,1,1]]
Výstup: 3
Vysvětlení:
Můžeme umístit věže do buněk (0, 2), (1, 1) a (2, 0) se součtem 1 + 1 + 1 = 3.

Omezení:

3 <= m == board.length <= 100
3 <= n == board[i].length <= 100
-10^9 <= board[i][j] <= 10^9

Dostanete pole m x n 2D pole představující šachovnici, kde board[i][j] představuje hodnotu buňky (i, j).
Věže ve stejné řadě nebo sloupci na sebe útočí. Na šachovnici musíte umístit tři věže tak, aby na sebe neútočily.
Vrátí maximální součet hodnot buněk, na kterých jsou umístěny věže.

Příklad 1:

Vstup: deska = [[-3,1,1,1],[-3,1,-3,1],[-3,2,1,1]]
Výstup: 4
Vysvětlení:

Můžeme umístit věže do buněk (0, 2), (1, 3) a (2, 1) se součtem 1 + 1 + 2 = 4.

Příklad 2:

Vstup: deska = [[1,2,3],[4,5,6],[7,8,9]]
Výstup: 15
Vysvětlení:
Můžeme umístit věže do buněk (0, 0), (1, 1) a (2, 2) se součtem 1 + 5 + 9 = 15.

Příklad 3:

Vstup: deska = [[1,1,1],[1,1,1],[1,1,1]]
Výstup: 3
Vysvětlení:
Můžeme umístit věže do buněk (0, 2), (1, 1) a (2, 0) se součtem 1 + 1 + 1 = 3.

Omezení:

3 <= m == deska.length <= 100
3 <= n == deska[i].length <= 100
-10^9 <= deska[i][j] <= 10^9


Jsou vám dána tři kladná celá čísla num1, num2 a num3.
Klíč pro num1, num2 a num3 je definován jako čtyřciferné číslo, které splňuje následující pravidla:

- Na začátku je každé číslo, které má méně než čtyři cifry, doplněno nulami zleva.
- (i^{\text{tá}} ) cifra (1 ≤ \(i\) ≤ 4) klíče je určena jako nejmenší cifra mezi \(i^{\text{tými}}\) ciframi čísel num1, num2 a num3.

Vrátí se klíč pro tři čísla bez úvodních nul (pokud existují).

Příklad 1:

Vstup: num1 = 1, num2 = 10, num3 = 1000
Výstup: 0
Vysvětlení:
Po doplnění se num1 stane "0001", num2 se stane "0010" a num3 zůstává "1000".

1. číslice klíče je min(0, 0, 1).
2. číslice klíče je min(0, 0, 0).
3. číslice klíče je min(0, 1, 0).
4. číslice klíče je min(1, 0, 0).

Klíč je tedy "0000", tj. 0.

Příklad 2:

Vstup: num1 = 987, num2 = 879, num3 = 798
Výstup: 777

Příklad 3:

Vstup: num1 = 1, num2 = 2, num3 = 3
Výstup: 1

Omezení:

1 <= num1, num2, num3 <= 9999

Jsou vám dána tři kladná celá čísla num1, num2 a num3.
Klíč num1, num2 a num3 je definován jako čtyřmístné číslo tak, že:

Zpočátku, pokud má nějaké číslo méně než čtyři číslice, je doplněno úvodními nulami.
i^tá číslice (1 <= i <= 4) klíče je generována tak, že se vezme nejmenší číslice z i^-té číslice num1, num2 a num3.

Vraťte klíč tří čísel bez úvodních nul (pokud existují).

Příklad 1:

Vstup: num1 = 1, num2 = 10, num3 = 1000
Výstup: 0
Vysvětlení:
Při vyplnění se num1 změní na "0001", num2 na "0010" a num3 zůstane "1000".

První číslice klíče je min(0, 0, 1).
2. číslice číslice klíče je min(0, 0, 0).
3. číslice klíče je min(0, 1, 0).
4^tá číslice klíče je min(1, 0, 0).

Klíč je tedy "0000", tj. 0.

Příklad 2:

Vstup: num1 = 987, num2 = 879, num3 = 798
Výstup: 777

Příklad 3:

Vstup: num1 = 1, num2 = 2, num3 = 3
Výstup: 1

Omezení:

1 <= num1, num2, num3 <= 9999

Jsou vám dána tři kladná celá čísla num1, num2 a num3.
Klíč num1, num2 a num3 je definován jako čtyřmístné číslo tak, že:

Zpočátku, pokud má nějaké číslo méně než čtyři číslice, je doplněno úvodními nulami.
I^-tá číslice (1 <= i <= 4) klíče je generována tak, že se vezme nejmenší číslice z i^-té číslice num1, num2 a num3.

Vraťte klíč tří čísel bez úvodních nul (pokud existují).

Příklad 1:

Vstup: num1 = 1, num2 = 10, num3 = 1000
Výstup: 0
Vysvětlení:
Při vyplnění se num1 změní na "0001", num2 na "0010" a num3 zůstane "1000".

První číslice klíče je min(0, 0, 1).
2^nd číslice klíče je min(0, 0, 0).
3. číslice klíče je min(0, 1, 0).
4^tá číslice klíče je min(1, 0, 0).

Klíč je tedy "0000", tj. 0.

Příklad 2:

Vstup: num1 = 987, num2 = 879, num3 = 798
Výstup: 777

Příklad 3:

Vstup: num1 = 1, num2 = 2, num3 = 3
Výstup: 1

Omezení:

1 <= číslo1, číslo2, číslo3 <= 9999


Dostanete řetězec s délky n a celé číslo k, kde n je násobkem k. Vaším úkolem je hashovat řetězec s do nového řetězce s názvem result, který má délku n/k.
Nejprve rozdělte s na n/k podřetězců, každý o délce k. Poté inicializujte výsledek jako prázdný řetězec.
Pro každý podřetězec v pořadí od začátku:

Hodnota hash znaku je index tohoto znaku v anglické abecedě (např. „a“ → 0, „b“ → 1, ..., „z“ → 25).
Vypočítejte součet všech hodnot hash znaků v podřetězci.
Najděte zbytek tohoto součtu při dělení 26, což se nazývá hashedChar.
Identifikujte znak v anglické abecedě, který odpovídá hashedChar.
Připojte tento znak na konec výsledku.

Vrátit výsledek.

Příklad 1:

Vstup: s = "abcd", k = 2
Výstup: "bf"
Vysvětlení:
První podřetězec: "ab", 0 + 1 = 1, 1 % 26 = 1, výsledek[0] = 'b'.
Druhý podřetězec: "cd", 2 + 3 = 5, 5 % 26 = 5, výsledek[1] = 'f'.

Příklad 2:

Vstup: s = "mxz", k = 3
Výstup: "i"
Vysvětlení:
Jediný podřetězec: "mxz", 12 + 23 + 25 = 60, 60 % 26 = 8, výsledek[0] = 'i'.

Omezení:

1 <= k <= 100
k <= s.length <= 1000
s.length je dělitelná k.
s se skládá pouze z malých anglických písmen.

Máte daný řetězec s délky n a celé číslo k, kde n je násobkem k. Vaším úkolem je zahashovat řetězec s do nového řetězce nazvaného result, který má délku n / k.
Nejprve rozdělte s do n / k podřetězců, každý o délce k. Poté inicializujte result jako prázdný řetězec.
Pro každý podřetězec v pořadí od začátku:

Hashovací hodnota znaku je index tohoto znaku v anglické abecedě (např. 'a' → 0, 'b' → 1, ..., 'z' → 25).
Vypočítejte součet všech hashovacích hodnot znaků v podřetězci.
Najděte zbytek tohoto součtu po dělení 26, což se nazývá hashedChar.
Identifikujte znak v anglické abecedě malých písmen, který odpovídá hashedChar.
Připojte tento znak na konec result.

Vraťte result.

Příklad 1:

Vstup: s = "abcd", k = 2
Výstup: "bf"
Vysvětlení:
První podřetězec: "ab", 0 + 1 = 1, 1 % 26 = 1, result[0] = 'b'.
Druhý podřetězec: "cd", 2 + 3 = 5, 5 % 26 = 5, result[1] = 'f'.

Příklad 2:

Vstup: s = "mxz", k = 3
Výstup: "i"
Vysvětlení:
Jediný podřetězec: "mxz", 12 + 23 + 25 = 60, 60 % 26 = 8, result[0] = 'i'.

Omezení:

1 <= k <= 100
k <= s.length <= 1000
s.length s je dělitelná k.
s se skládá pouze z malých písmen anglické abecedy.

Máte daný řetězec s délky n a celé číslo k, kde n je násobkem k. Vaším úkolem je zahashovat řetězec s do nového řetězce nazvaného result, který má délku n / k.
Nejprve rozdělte s do n / k podřetězců, každý o délce k. Poté inicializujte result jako prázdný řetězec.
Pro každý podřetězec v pořadí od začátku:

Hashovací hodnota znaku je index tohoto znaku v anglické abecedě (např. 'a' → 0, 'b' → 1, ..., 'z' → 25).
Vypočítejte součet všech hashovacích hodnot znaků v podřetězci.
Najděte zbytek tohoto součtu po dělení 26, což se nazývá hashedChar.
Identifikujte znak v anglické abecedě malých písmen, který odpovídá hashedChar.
Připojte tento znak na konec result.

Vraťte result.

Příklad 1:

Vstup: s = "abcd", k = 2
Výstup: "bf"
Vysvětlení:
První podřetězec: "ab", 0 + 1 = 1, 1 % 26 = 1, result[0] = 'b'.
Druhý podřetězec: "cd", 2 + 3 = 5, 5 % 26 = 5, result[1] = 'f'.

Příklad 2:

Vstup: s = "mxz", k = 3
Výstup: "i"
Vysvětlení:
Jediný podřetězec: "mxz", 12 + 23 + 25 = 60, 60 % 26 = 8, result[0] = 'i'.

Omezení:

1 <= k <= 100
k <= délka s <= 1000
délka s je dělitelná k.
s se skládá pouze z malých písmen anglické abecedy.


Máte dvě kladná celá čísla n a k.
Celé číslo x se nazývá k-palindromické, pokud:

x je palindrom.
x je dělitelné k.

Celé číslo je nazýváno dobré, pokud jeho číslice mohou být přeskupeny tak, aby vytvořily k-palindromické číslo. Například, pro k = 2 může být 2020 přeskupeno, aby vytvořilo k-palindromické číslo 2002, zatímco 1010 nemůže být přeskupeno, aby vytvořilo k-palindromické číslo.
Vrátí počet dobrých celých čísel obsahujících n číslic.
Všimněte si, že žádné celé číslo nesmí mít vedoucí nuly, ať už před nebo po přeskupení. Například 1010 nemůže být přeskupeno, aby vytvořilo 101.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: 27
Vysvětlení:
Některá z dobrých čísel jsou:

551, protože může být přeskupeno, aby vytvořilo 515.
525, protože je již k-palindromické.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: 2
Vysvětlení:
Dvě dobrá čísla jsou 4 a 8.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: 2468

Omezení:

1 <= n <= 10
1 <= k <= 9

Jsou vám dána dvě kladná celá čísla n a k.
Celé číslo x se nazývá k-palindromické, pokud:

x je palindrom.
x je dělitelné k.

Celé číslo se nazývá dobré, pokud lze jeho číslice přeskupit tak, aby vytvořily k-palindromické celé číslo. Například pro k = 2 může být 2020 přeskupeno tak, aby vytvořilo k-palindromické celé číslo 2002, zatímco 1010 nemůže být přeskupeno tak, aby vytvořilo k-palindromické celé číslo.
Vrátí počet dobrých celých čísel obsahujících n číslic.
Všimněte si, že žádné celé číslo nesmí mít úvodní nuly, ani před ani po přeuspořádání. Například 1010 nelze přeskupit do tvaru 101.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: 27
Vysvětlení:
Některá z dobrých celých čísel jsou:

551, protože jej lze přeskupit do tvaru 515.
525, protože je již k-palindromický.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: 2
Vysvětlení:
Dvě dobrá celá čísla jsou 4 a 8.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: 2468

Omezení:

1 <= n <= 10
1 <= k <= 9

Jsou vám dána dvě kladná celá čísla n a k.
Celé číslo x se nazývá k-palindromické, pokud:

X je palindrom.
x je dělitelné k.

Celé číslo se nazývá dobré, pokud jeho číslice mohou být přeskupeny tak, aby tvořily k-palindromické celé číslo. Například pro k = 2 může být 2020 přeskupeno tak, aby tvořilo k-palindromické celé číslo 2002, zatímco 1010 nelze přeskupit do podoby k-palindromického celého čísla.
Vrátí počet dobrých celých čísel obsahujících n číslic.
Všimněte si, že žádné celé číslo nesmí mít úvodní nuly, ani před ani po změně uspořádání. Například 1010 nelze změnit uspořádání do tvaru 101.

Příklad 1:

Vstup: n = 3, k = 5
Výstup: 27
Vysvětlení:
Některá z dobrých celých čísel jsou:

551, protože může být přeskupen do tvaru 515.
525 protože je již K-palindromická.

Příklad 2:

Vstup: n = 1, k = 4
Výstup: 2
Vysvětlení:
Dvě dobrá celá čísla jsou 4 a 8.

Příklad 3:

Vstup: n = 5, k = 6
Výstup: 2468

Omezení:

1 <= n <= 10
1 <= k <= 9


Jsou ti zadána celá čísla power a dva celočíselné pole damage a health, obě o délce n.
Bob má n nepřátel, kde nepřítel i způsobí Bobovi damage[i] bodů škody za sekundu, dokud jsou naživu (tj. health[i] > 0).
Každou sekundu, poté co nepřátelé způsobí škodu Bobovi, si vybere jednoho z nepřátel, který je stále naživu, a způsobí mu power bodů škody.
Urči minimální celkový počet bodů škody, které Bob obdrží, než všichni n nepřátelé zemřou.

Příklad 1:

Vstup: power = 4, damage = [1,2,3,4], health = [4,5,6,8]
Výstup: 39
Vysvětlení:

Zaútoč na nepřítele 3 v prvních dvou sekundách, poté nepřítel 3 padne. Počet bodů škody způsobených Bobovi je 10 + 10 = 20 bodů.
Zaútoč na nepřítele 2 v dalších dvou sekundách, poté nepřítel 2 padne. Počet bodů škody způsobených Bobovi je 6 + 6 = 12 bodů.
Zaútoč na nepřítele 0 v další sekundě, poté nepřítel 0 padne. Počet bodů škody způsobených Bobovi je 3 body.
Zaútoč na nepřítele 1 v dalších dvou sekundách, poté nepřítel 1 padne. Počet bodů škody způsobených Bobovi je 2 + 2 = 4 body.

Příklad 2:

Vstup: power = 1, damage = [1,1,1,1], health = [1,2,3,4]
Výstup: 20
Vysvětlení:

Zaútoč na nepřítele 0 v první sekundě, poté nepřítel 0 padne. Počet bodů škody způsobených Bobovi je 4 body.
Zaútoč na nepřítele 1 v dalších dvou sekundách, poté nepřítel 1 padne. Počet bodů škody způsobených Bobovi je 3 + 3 = 6 bodů.
Zaútoč na nepřítele 2 v dalších třech sekundách, poté nepřítel 2 padne. Počet bodů škody způsobených Bobovi je 2 + 2 + 2 = 6 bodů.
Zaútoč na nepřítele 3 v dalších čtyřech sekundách, poté nepřítel 3 padne. Počet bodů škody způsobených Bobovi je 1 + 1 + 1 + 1 = 4 body.

Příklad 3:

Vstup: power = 8, damage = [40], health = [59]
Výstup: 320

Omezení:

1 <= power <= 10^4
1 <= n == damage.length == health.length <= 10^5
1 <= damage[i], health[i] <= 10^4

Je vám dána celá čísla power a dva celočíselné pole damage a health, obě o délce n.
Bob má n nepřátel, kde nepřítel i způsobí Bobovi damage[i] bodů škody za sekundu, dokud jsou naživu (tj. health[i] > 0).
Každou sekundu, poté co nepřátelé způsobí škodu Bobovi, si vybere jednoho z nepřátel, který je stále naživu, a způsobí mu power bodů škody.
Určete minimální celkový počet bodů škody, které budou Bobovi způsobeny, než všichni n nepřátelé zemřou.

Příklad 1:

Vstup: power = 4, damage = [1,2,3,4], health = [4,5,6,8]
Výstup: 39
Vysvětlení:

Útočte na nepřítele 3 v prvních dvou sekundách, poté nepřítel 3 padne, počet bodů škody způsobených Bobovi je 10 + 10 = 20 bodů.
Útočte na nepřítele 2 v dalších dvou sekundách, poté nepřítel 2 padne, počet bodů škody způsobených Bobovi je 6 + 6 = 12 bodů.
Útočte na nepřítele 0 v další sekundě, poté nepřítel 0 padne, počet bodů škody způsobených Bobovi je 3 body.
Útočte na nepřítele 1 v dalších dvou sekundách, poté nepřítel 1 padne, počet bodů škody způsobených Bobovi je 2 + 2 = 4 body.

Příklad 2:

Vstup: power = 1, damage = [1,1,1,1], health = [1,2,3,4]
Výstup: 20
Vysvětlení:

Útočte na nepřítele 0 v první sekundě, poté nepřítel 0 padne, počet bodů škody způsobených Bobovi je 4 body.
Útočte na nepřítele 1 v dalších dvou sekundách, poté nepřítel 1 padne, počet bodů škody způsobených Bobovi je 3 + 3 = 6 bodů.
Útočte na nepřítele 2 v dalších třech sekundách, poté nepřítel 2 padne, počet bodů škody způsobených Bobovi je 2 + 2 + 2 = 6 bodů.
Útočte na nepřítele 3 v dalších čtyřech sekundách, poté nepřítel 3 padne, počet bodů škody způsobených Bobovi je 1 + 1 + 1 + 1 = 4 body.

Příklad 3:

Vstup: power = 8, damage = [40], health = [59]
Výstup: 320

Omezení:

1 <= power <= 10^4
1 <= n == damage.length == health.length <= 10^5
1 <= damage[i], health[i] <= 10^4

Je zadána celočíselná síla a dvě celočíselná pole poškození a zdraví, obě o délce n.
Bob má n nepřátel, přičemž nepřítel i způsobí Bobovi poškození[i] bodů za sekundu, dokud je naživu (tj. zdraví[i] > 0).
Každou sekundu poté, co nepřátelé způsobí Bobovi poškození, vybere jednoho z nepřátel, který je stále naživu, a způsobí mu body poškození síly.
Určete minimální celkový počet bodů poškození, který bude Bobovi udělen, než bude všech n nepřátel mrtvých.

Příklad 1:

Vstupní údaje: síla = 4, poškození = [1,2,3,4], zdraví = [4,5,6,8].
Výstup: 39
Vysvětlení:

Útok na nepřítele 3 v prvních dvou vteřinách, poté nepřítel 3 padne k zemi, počet bodů poškození způsobených Bobovi je 10 + 10 = 20 bodů.
Útok na nepřítele 2 v následujících dvou sekundách, po kterém nepřítel 2 padne k zemi, počet bodů poškození způsobených Bobovi je 6 + 6 = 12 bodů.
Zaútočte na nepřítele 0 v následující sekundě, poté nepřítel 0 padne k zemi, počet bodů poškození způsobených Bobovi je 3 body.
Zaútočte na nepřítele 1 v následujících dvou sekundách, poté nepřítel 1 padne k zemi, počet bodů poškození způsobených Bobovi je 2 + 2 = 4 body.

Příklad 2:

Vstup: síla = 1, poškození = [1,1,1,1], zdraví = [1,2,3,4].
Výstup: 20
Vysvětlení:

Útok na nepřítele 0 v první vteřině, poté nepřítel 0 padne k zemi, počet bodů poškození způsobených Bobovi je 4 body.
Útok na nepřítele 1 v následujících dvou sekundách, po kterém nepřítel 1 padne k zemi, počet bodů poškození způsobených Bobovi je 3 + 3 = 6 bodů.
Zaútočte na nepřítele 2 během následujících tří sekund, poté nepřítel 2 padne k zemi, počet bodů poškození způsobených Bobovi je 2 + 2 + 2 = 6 bodů.
Útok na nepřítele 3 v následujících čtyřech sekundách, po kterém nepřítel 3 padne k zemi, počet bodů poškození způsobených Bobovi je 1 + 1 + 1 + 1 + 1 = 4 body.

Příklad 3:

Vstup: síla = 8, poškození = [40], zdraví = [59].
Výstup: 320

Omezení:

1 <= síla <= 10^4
1 <= n == damage.length == health.length <= 10^5
1 <= damage[i], health[i] <= 10^4


Máte m x n binární matici grid a celé číslo health.
Začínáte v levém horním rohu (0, 0) a chcete se dostat do pravého dolního rohu (m - 1, n - 1).
Můžete se pohybovat nahoru, dolů, vlevo nebo vpravo mezi sousedními buňkami, pokud váš health zůstává kladný.
Buňky (i, j) s grid[i][j] = 1 jsou považovány za nebezpečné a snižují váš health o 1.
Vraťte true, pokud můžete dosáhnout konečné buňky s hodnotou health 1 nebo více, v opačném případě vraťte false.

Příklad 1:

Vstup: grid = [[0,1,0,0,0],[0,1,0,1,0],[0,0,0,1,0]], health = 1
Výstup: true
Vysvětlení:
Konečné buňky lze bezpečně dosáhnout tím, že se půjde po šedých buňkách níže.

Příklad 2:

Vstup: grid = [[0,1,1,0,0,0],[1,0,1,0,0,0],[0,1,1,1,0,1],[0,0,1,0,1,0]], health = 3
Výstup: false
Vysvětlení:
Minimálně 4 body zdraví jsou potřeba k bezpečnému dosažení konečné buňky.

Příklad 3:

Vstup: grid = [[1,1,1],[1,0,1],[1,1,1]], health = 5
Výstup: true
Vysvětlení:
Konečné buňky lze bezpečně dosáhnout tím, že se půjde po šedých buňkách níže.

Jakákoli cesta, která neprochází buňkou (1, 1), je nebezpečná, protože vaše zdraví klesne na 0 při dosažení konečné buňky.

Omezení:

m == grid.length
n == grid[i].length
1 <= m, n <= 50
2 <= m * n
1 <= health <= m + n
grid[i][j] je buď 0 nebo 1.

Dostanete m x n binární maticovou mřížku a celé číslo.
Začnete v levém horním rohu (0, 0) a chtěli byste se dostat do pravého dolního rohu (m - 1, n - 1).
Můžete se pohybovat nahoru, dolů, doleva nebo doprava z jedné buňky do druhé sousední buňky, pokud je vaše zdraví pozitivní.
Buňky (i, j) s mřížkou[i][j] = 1 jsou považovány za nebezpečné a snižují vaše zdraví o 1.
Vraťte true, pokud můžete dosáhnout poslední buňky s hodnotou zdraví 1 nebo více, a v opačném případě false.

Příklad 1:

Vstup: mřížka = [[0,1,0,0,0],[0,1,0,1,0],[0,0,0,1,0]], zdraví = 1
Výstup: pravda
Vysvětlení:
Do poslední buňky se lze bezpečně dostat procházkou podél šedých buněk níže.

Příklad 2:

Vstup: mřížka = [[0,1,1,0,0,0],[1,0,1,0,0,0],[0,1,1,1,0,1],[0, 0,1,0,1,0]], zdraví = 3
Výstup: nepravda
Vysvětlení:
K bezpečnému dosažení poslední buňky jsou potřeba minimálně 4 body zdraví.

Příklad 3:

Vstup: mřížka = [[1,1,1],[1,0,1],[1,1,1]], zdraví = 5
Výstup: pravda
Vysvětlení:
Do poslední buňky se lze bezpečně dostat procházkou podél šedých buněk níže.

Jakákoli cesta, která neprochází buňkou (1, 1), není bezpečná, protože vaše zdraví klesne na 0, když dosáhnete poslední buňky.

Omezení:

m == mřížka.length
n == mřížka[i].length
1 <= m, n <= 50
2 <= m * n
1 <= zdraví <= m + n
grid[i][j] je buď 0 nebo 1.

Dostanete binární maticovou mřížku m x n a celočíselné zdraví.
Začínáte v levém horním rohu (0, 0) a chcete se dostat do pravého dolního rohu (m - 1, n - 1).
Můžete se pohybovat nahoru, dolů, doleva nebo doprava z jedné buňky do druhé sousední buňky, pokud váš zdravotní stav zůstává pozitivní.
Buňky (i, j) s grid [i][j] = 1 jsou považovány za nebezpečné a snižují váš zdravotní stav o 1.
Vrátí hodnotu true, pokud se dostanete k cílové buňce s hodnotou stavu 1 nebo více, v opačném případě vrátí hodnotu false.

Příklad 1:

Vstup: grid = [[0,1,0,0,0],[0,1,0,1,0],[0,0,0,1,0]], health = 1
Výstup: true
Vysvětlení:
Do konečné buňky se lze bezpečně dostat chůzí po šedých buňkách níže.

Příklad 2:

Vstup: grid = [[0,1,1,0,0,0],[1,0,1,0,0,0],[0,1,1,1,0,1],[0,0,1,0,1,0]], health = 3
Výstup: false
Vysvětlení:
K bezpečnému dosažení cílové buňky jsou potřeba minimálně 4 body zdraví.

Příklad 3:

Vstup: grid = [[1,1,1],[1,0,1],[1,1,1]], health = 5
Výstup: true
Vysvětlení:
Do konečné buňky se lze bezpečně dostat chůzí po šedých buňkách níže.

Jakákoli cesta, která neprochází buňkou (1, 1), je nebezpečná, protože vaše zdraví po dosažení konečné buňky klesne na 0.

Omezení:

m == grid.length
n == grid[i].length
1 <= m, n <= 50
2 <= m * n
1 <= health <= m + n
grid[i][j] je buď 0 nebo 1.


Je zadáno celočíselné pole nums a kladné celé číslo k.
Hodnota posloupnosti seq o velikosti 2 * x je definována jako:

(seq[0] OR seq[1] OR ... OR seq[x - 1]) XOR (seq[x] OR seq[x + 1] OR ... OR seq[2 * x - 1]).

Vrátí maximální hodnotu libovolné posloupnosti čísel o velikosti 2 * k.

Příklad 1:

Vstup: nums = [2,6,7], k = 1
Výstup: 5
Vysvětlení:
Podposloupnost [2, 7] má maximální hodnotu 2 XOR 7 = 5.

Příklad 2:

Vstup: nums = [4,2,5,6,7], k = 2
Výstup: 2
Vysvětlení:
Podposloupnost [4, 5, 6, 7] má maximální hodnotu (4 OR 5) XOR (6 OR 7) = 2.

Omezení:

2 <= nums.length <= 400
1 <= nums[i] < 2^7
1 <= k <= nums.length / 2

Dostanete celočíselné pole nums a kladné celé číslo k.
Hodnota sekvence seq velikosti 2 * x je definována jako:

(seq[0] OR seq[1] OR ... OR seq[x - 1]) XOR (seq[x] OR seq[x + 1] OR ... OR seq[2 * x - 1]).

Vrátí maximální hodnotu libovolné podposloupnosti čísel o velikosti 2 * k.

Příklad 1:

Vstup: nums = [2,6,7], k = 1
Výstup: 5
Vysvětlení:
Podsekvence [2, 7] má maximální hodnotu 2 XOR 7 = 5.

Příklad 2:

Vstup: nums = [4,2,5,6,7], k = 2
Výstup: 2
Vysvětlení:
Dílčí posloupnost [4, 5, 6, 7] má maximální hodnotu (4 OR 5) XOR (6 OR 7) = 2.

Omezení:

2 <= nums.length <= 400
1 <= nums[i] < 2^7
1 <= k <= počet.length / 2

Je vám dáno celé číslo pole nums a kladné celé číslo k.
Hodnota posloupnosti seq velikosti 2 * x je definována jako:

(seq[0] OR seq[1] OR ... OR seq[x - 1]) XOR (seq[x] OR seq[x + 1] OR ... OR seq[2 * x - 1]).

Vrátí maximální hodnotu jakékoli podposloupnosti z nums velikosti 2 * k.

Příklad 1:

Vstup: nums = [2,6,7], k = 1
Výstup: 5
Vysvětlení:
Podposloupnost [2, 7] má maximální hodnotu 2 XOR 7 = 5.

Příklad 2:

Vstup: nums = [4,2,5,6,7], k = 2
Výstup: 2
Vysvětlení:
Podposloupnost [4, 5, 6, 7] má maximální hodnotu (4 OR 5) XOR (6 OR 7) = 2.

Omezení:

2 <= nums.length <= 400
1 <= nums[i] < 2^7
1 <= k <= nums.length / 2


Je zadáno 2D pole celočíselných souřadnic délky n a celé číslo k, kde 0 <= k < n.
coordinates[i] = [x_i, y_i] označují bod (x_i, y_i) ve 2D rovině.
Rostoucí cesta délky m je definována jako seznam bodů (x_1, y_1), (x_2, y_2), (x_3, y_3), ..., (x_m, y_m) takových, že:

x_i < x_i + 1 a y_i < y_i + 1 pro všechna i, kde 1 <= i < m.
(x_i, y_i) je v daných souřadnicích pro všechna i, kde 1 <= i <= m.

Vrátí maximální délku rostoucí cesty, která obsahuje coordinates[k].

Příklad 1:

Vstup: coordinates = [[3,1],[2,2],[4,1],[0,0],[5,3]], k = 1
Výstup: 3
Vysvětlení:
(0, 0), (2, 2), (5, 3) je nejdelší rostoucí cesta, která obsahuje (2, 2).

Příklad 2:

Vstup: coordinates = [[2,1],[7,0],[5,6]], k = 2
Výstup: 2
Vysvětlení:
(2, 1), (5, 6) je nejdelší rostoucí cesta, která obsahuje (5, 6).

Omezení:

1 <= n == coordinates.length <= 10^5
coordinates[i].length == 2
0 <= coordinates[i][0], coordinates[i][1] <= 10^9
Všechny prvky v souřadnicích jsou různé.
0 <= k <= n - 1

Jste dáni 2D pole celých čísel coordinates délky n a celé číslo k, kde 0 <= k < n.
coordinates[i] = [x_i, y_i] označuje bod (x_i, y_i) v 2D rovině.
Rostoucí cesta délky m je definována jako seznam bodů (x_1, y_1), (x_2, y_2), (x_3, y_3), ..., (x_m, y_m) tak, že:

x_i < x_i + 1 a y_i < y_i + 1 pro všechna i, kde 1 <= i < m.
(x_i, y_i) je v daných coordinates pro všechna i, kde 1 <= i <= m.

Vraťte maximální délku rostoucí cesty, která obsahuje coordinates[k].

Příklad 1:

Vstup: coordinates = [[3,1],[2,2],[4,1],[0,0],[5,3]], k = 1
Výstup: 3
Vysvětlení:
(0, 0), (2, 2), (5, 3) je nejdelší rostoucí cesta, která obsahuje (2, 2).

Příklad 2:

Vstup: coordinates = [[2,1],[7,0],[5,6]], k = 2
Výstup: 2
Vysvětlení:
(2, 1), (5, 6) je nejdelší rostoucí cesta, která obsahuje (5, 6).

Omezení:

1 <= n == coordinates.length <= 10^5
coordinates[i].length == 2
0 <= coordinates[i][0], coordinates[i][1] <= 10^9
Všechny prvky v coordinates jsou různé.
0 <= k <= n - 1

Dostanete 2D pole celých souřadnic délky n a celé číslo k, kde 0 <= k < n.
souřadnice[i] = [x_i, y_i] označují bod (x_i, y_i) ve 2D rovině.
Rostoucí dráha délky m je definována jako seznam bodů (x_1, y_1), (x_2, y_2), (x_3, y_3), ..., (x_m, y_m) tak, že:

x_i < x_i + 1 a y_i < y_i + 1 pro všechna i, kde 1 <= i < m.
(x_i, y_i) je v daných souřadnicích pro všechna i, kde 1 <= i <= m.

Vrátí maximální délku rostoucí cesty, která obsahuje souřadnice[k].

Příklad 1:

Zadání: souřadnice = [[3,1],[2,2],[4,1],[0,0],[5,3]], k = 1
Výstup: 3
Vysvětlení:
(0, 0), (2, 2), (5, 3) je nejdelší rostoucí cesta, která obsahuje (2, 2).

Příklad 2:

Zadání: souřadnice = [[2,1],[7,0],[5,6]], k = 2
Výstup: 2
Vysvětlení:
(2, 1), (5, 6) je nejdelší rostoucí cesta, která obsahuje (5, 6).

Omezení:

1 <= n == souřadnice.length <= 10^5
souřadnice[i].length == 2
0 <= souřadnice[i][0], souřadnice[i][1] <= 10^9
Všechny prvky v souřadnicích jsou odlišné.
0 <= k <= n - 1


Dané jsou pole řetězců message a pole řetězců bannedWords.
Pole slov se považuje za spam, pokud se v něm nacházejí alespoň dvě slova, která přesně odpovídají jakémukoli slovu v bannedWords.
Vraťte true, pokud je pole message spam, a false jinak.

Příklad 1:

Vstup: message = ["hello","world","leetcode"], bannedWords = ["world","hello"]
Výstup: true
Vysvětlení:
Slova "hello" a "world" z pole message se objevují v poli bannedWords.

Příklad 2:

Vstup: message = ["hello","programming","fun"], bannedWords = ["world","programming","leetcode"]
Výstup: false
Vysvětlení:
Pouze jedno slovo z pole message ("programming") se objevuje v poli bannedWords.

Omezení:

1 <= message.length, bannedWords.length <= 10^5
1 <= message[i].length, bannedWords[i].length <= 15
message[i] a bannedWords[i] obsahují pouze malá písmena anglické abecedy.

Dostanete pole řetězců řetězců a pole řetězců bannedWords.
Pole slov je považováno za spam, pokud jsou v něm alespoň dvě slova, která přesně odpovídají jakémukoli slovu v bannedWords.
Pokud je zpráva pole spam, vrátí hodnotu true a v opačném případě vrátí hodnotu false.

Příklad 1:

Vstup: message = ["hello","world","leetcode"], bannedWords = ["world","hello"]
Výstup: true
Vysvětlení:
Slova „hello“ a „world“ z pole zpráv se objeví v poli bannedWords.

Příklad 2:

Vstup: message = ["hello","programming","fun"], bannedWords = ["world","programming","leetcode"]
Výstup: false
Vysvětlení:
V poli bannedWords se objeví pouze jedno slovo z pole zpráv („programming“).

Omezení:

1 <= message.length, bannedWords.length <= 10^5
1 <= message[i].length, bannedWords[i].length <= 15
message[i] a bannedWords[i] se skládají pouze z malých anglických písmen.

Je zadáno pole řetězců message a pole řetězců bannedWords.
Pole slov je považováno za spam, pokud jsou v něm alespoň dvě slova, která přesně odpovídají některému slovu v řetězci bannedWords.
Vraťte true, pokud je zpráva v poli spam, a false v opačném případě.

Příklad 1:

Vstup: message = [„hello“, „world“, „leetcode“], bannedWords = [„world“, „hello“]
Výstup: true
Vysvětlení:
Slova „hello“ a „world“ z pole zpráv se obě objevují v poli bannedWords.

Příklad 2:

Vstup: message = [„hello“, „programming“, „fun“], bannedWords = [„world“, „programming“, „leetcode“]
Výstup: false
Vysvětlení:
V poli bannedWords se vyskytuje pouze jedno slovo z pole message („programming“).

Omezení:

1 <= message.length, bannedWords.length <= 10^5
1 <= message[i].length, bannedWords[i].length <= 15
message[i] a bannedWords[i] se skládají pouze z malých anglických písmen.


Máte dané celé číslo `mountainHeight`, které označuje výšku hory.
Máte také dané celočíselné pole `workerTimes`, které reprezentuje čas práce pracovníků v sekundách.
Pracovníci pracují současně na snížení výšky hory. Pro pracovníka \( i \):

Ke snížení výšky hory o x, potřebuje workerTimes[i] + workerTimes[i] * 2 + ... + workerTimes[i] * x sekund. Například:

- Ke snížení výšky hory o 1 je potřeba `workerTimes[i]` sekund.
- Ke snížení výšky hory o 2 je potřeba `workerTimes[i] + workerTimes[i] * 2` sekund, a tak dále.

Vraťte celé číslo představující minimální počet sekund potřebných k tomu, aby pracovníci snížili výšku hory na 0.

Příklad 1:

Vstup: mountainHeight = 4, workerTimes = [2,1,1]
Výstup: 3
Vysvětlení:
Jedním způsobem, jak lze výšku hory snížit na 0, je:

- Pracovník 0 sníží výšku o 1, což zabere `workerTimes[0] = 2` sekundy.
- Pracovník 1 sníží výšku o 2, což zabere `workerTimes[1] + workerTimes[1] * 2 = 3` sekundy.
- Pracovník 2 sníží výšku o 1, což zabere `workerTimes[2] = 1` sekundu.

Protože pracují současně, minimální čas potřebný je max(2, 3, 1) = 3 sekund.

Příklad 2:

Vstup: mountainHeight = 10, workerTimes = [3,2,2,4]
Výstup: 12
Vysvětlení:

- Pracovník 0 sníží výšku o 2, což zabere `workerTimes[0] + workerTimes[0] * 2 = 9` sekund.
- Pracovník 1 sníží výšku o 3, což zabere `workerTimes[1] + workerTimes[1] * 2 + workerTimes[1] * 3 = 12` sekund.
- Pracovník 2 sníží výšku o 3, což zabere `workerTimes[2] + workerTimes[2] * 2 + workerTimes[2] * 3 = 12` sekund.
- Pracovník 3 sníží výšku o 2, což zabere `workerTimes[3] + workerTimes[3] * 2 = 12` sekund.

Počet potřebných sekund je max(9, 12, 12, 12) = 12 sekund.

Příklad 3:

Vstup: mountainHeight = 5, workerTimes = [1]
Výstup: 15
Vysvětlení:
V tomto příkladu je pouze jeden dělník, takže odpověď je workerTimes[0] + workerTimes[0] * 2 + workerTimes[0] * 3 + workerTimes[0] * 4 + workerTimes[0] * 5 = 15.

Omezení:

1 <= mountainHeight <= 10^5
1 <= workerTimes.length <= 10^4
1 <= workerTimes[i] <= 10^6

Je zadáno celé číslo mountainHeight označující výšku hory.
Dále je zadáno celočíselné pole workerTimes představující dobu práce pracovníků v sekundách.
Dělníci pracují současně na snížení výšky hory. Pro pracovníka i:

Aby se výška hory snížila o x, je třeba workerTimes[i] + workerTimes[i] * 2 + ... + workerTimes[i] * x sekund. Například:

Snížení výšky hory o 1 trvá workerTimes[i] sekund.
Ke snížení výšky hory o 2 je třeba workerTimes[i] + workerTimes[i] * 2 sekundy atd.

Vraťte celé číslo představující minimální počet sekund potřebných k tomu, aby pracovníci snížili výšku hory na 0.

Příklad 1:

Vstup: mountainHeight = 4, workerTimes = [2,1,1]
Výstup: 3
Vysvětlení:
Jedním ze způsobů, jak lze snížit výšku hory na 0, je:

Pracovník 0 sníží výšku o 1, což zabere workerTimes[0] = 2 sekundy.
Pracovník 1 sníží výšku o 2, což zabere workerTimes[1] + workerTimes[1] * 2 = 3 sekundy.
Pracovník 2 sníží výšku o 1, což zabere workerTimes[2] = 1 sekundu.

Protože pracují současně, minimální potřebný čas je max(2, 3, 1) = 3 sekundy.

Příklad 2:

Vstup: mountainHeight = 10, workerTimes = [3,2,2,4].
Výstup: 12
Vysvětlení:

Worker 0 sníží výšku o 2, což zabere workerTimes[0] + workerTimes[0] * 2 = 9 sekund.
Pracovník 1 sníží výšku o 3, což zabere workerTimes[1] + workerTimes[1] * 2 + workerTimes[1] * 3 = 12 sekund.
Pracovník 2 sníží výšku o 3, což zabere workerTimes[2] + workerTimes[2] * 2 + workerTimes[2] * 3 = 12 sekund.
Pracovník 3 sníží výšku o 2, což zabere workerTimes[3] + workerTimes[3] * 2 = 12 sekund.

Počet potřebných sekund je max(9, 12, 12, 12) = 12 sekund.

Příklad 3:

Vstup: mountainHeight = 5, workerTimes = [1]
Výstup: 15
Vysvětlení:
V tomto příkladu je pouze jeden pracovník, takže odpověď je workerTimes[0] + workerTimes[0] * 2 + workerTimes[0] * 3 + workerTimes[0] * 4 + workerTimes[0] * 5 = 15.

Omezení:

1 <= mountainHeight <= 10^5
1 <= workerTimes.length <= 10^4
1 <= workerTimes[i] <= 10^6

Je vám dána celá čísla mountainHeight představující výšku hory.
Je vám také dáno pole celých čísel workerTimes reprezentující pracovní časy dělníků ve vteřinách.
Dělníci pracují současně na zmenšení výšky hory. Pro dělníka i:

Ke snížení výšky hory o x, potřebuje workerTimes[i] + workerTimes[i] * 2 + ... + workerTimes[i] * x sekund. Například:

Ke zmenšení výšky hory o 1, to trvá workerTimes[i] sekund.
Ke zmenšení výšky hory o 2, to trvá workerTimes[i] + workerTimes[i] * 2 sekund, a tak dále.

Vrátí celé číslo reprezentující minimální počet vteřin potřebných k tomu, aby dělníci zmenšili výšku hory na 0.

Příklad 1:

Vstup: mountainHeight = 4, workerTimes = [2,1,1]
Výstup: 3
Vysvětlení:
Jedním ze způsobů, jak může být výška hory snížena na 0, je:

Dělník 0 sníží výšku o 1, což trvá workerTimes[0] = 2 sekund.
Dělník 1 sníží výšku o 2, což trvá workerTimes[1] + workerTimes[1] * 2 = 3 sekund.
Dělník 2 sníží výšku o 1, což trvá workerTimes[2] = 1 sekund.

Protože pracují současně, minimální čas potřebný je max(2, 3, 1) = 3 sekund.

Příklad 2:

Vstup: mountainHeight = 10, workerTimes = [3,2,2,4]
Výstup: 12
Vysvětlení:

Dělník 0 sníží výšku o 2, což trvá workerTimes[0] + workerTimes[0] * 2 = 9 sekund.
Dělník 1 sníží výšku o 3, což trvá workerTimes[1] + workerTimes[1] * 2 + workerTimes[1] * 3 = 12 sekund.
Dělník 2 sníží výšku o 3, což trvá workerTimes[2] + workerTimes[2] * 2 + workerTimes[2] * 3 = 12 sekund.
Dělník 3 sníží výšku o 2, což trvá workerTimes[3] + workerTimes[3] * 2 = 12 sekund.

Počet potřebných sekund je max(9, 12, 12, 12) = 12 sekund.

Příklad 3:

Vstup: mountainHeight = 5, workerTimes = [1]
Výstup: 15
Vysvětlení:
V tomto příkladu je pouze jeden dělník, takže odpověď je workerTimes[0] + workerTimes[0] * 2 + workerTimes[0] * 3 + workerTimes[0] * 4 + workerTimes[0] * 5 = 15.

Omezení:

1 <= mountainHeight <= 10^5
1 <= workerTimes.length <= 10^4
1 <= workerTimes[i] <= 10^6