New-year tree
В задаче подразумевается что "рядом" стоят не только любые два элемента с индексами i и i+1, но еще и первый и последний элемент в последовательности стоят тоже "рядом". Об этом не сказано в условии, хотя следовало бы
test #2 : 1 2 Output:2
input: 1 10 ..... answer: -1
EZZZZZZY
using System;
namespace Problem23 { internal class Program { private static long Addim(long x, long y) { long t = 1; long j = 1; while (j <= y) { t = t*x; j++; } return t; }
private static long Say(long n, long k)
{
if (n == 2) return k*(k - 1);
return k*Addim(k - 1, n - 1) - Say(n - 1, k);
}
private static long Yoxla(long n, long k)
{
if (n == 1) return k;
if ((k == 1) || ((n%2 == 1) && (k == 2))) return -1;
if ((k == 2) && (n%2 == 0)) return 2;
return Say(n, k);
}
public static void Main(string[] args)
{
int say = 0;
string str = Console.ReadLine();
var massiv = str.Split(' ');
int n = int.Parse(massiv[0]);
int k = int.Parse(massiv[1]);
Console.WriteLine(Yoxla(n, k));
}
}
}
Ця задача робиться за допомогою двовимірного ДП, але його можна звести до досить простого одномірного)
Прислушаюсь
var k:int64; n:longint; rez:int64;
function step(x, m:int64):int64; var t, j:int64; begin t:=1; j:=1; while j<=m do begin t:=t*x; j:=j+1; end; step:=t; end; function count (n1, k1:int64):int64; begin if n1=2 then count:=k1*(k1-1) else count:=k1*step(k1-1, n1-1)-count(n1-1,k1); end; begin readln (n, k); if n=1 then begin writeln (k); halt; end; if (k=1) or ((n mod 2 =1) and (k=2)) then begin writeln (-1); halt; end; if (k=2) and (n mod 2=0) then begin writeln (2); halt; end; rez:=count(n, k); writeln (rez); end.
include <bits/stdc++.h>
using namespace std; int main(){ int n,k; cin>>n>>k; cout<<pow(k-1, n-1)*k; return 0; }
WHY 36%?!?
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░
///░░░░░░░░░░░░░▄░░░░░░░░░░░░░░░░░░░░░ ///░░░░░░░░░░░▄▐░▄▄█████▄▄░░░░░░░░░░░░░░ ///░░░░░░░░░▄█████████████▄▀▄▄░▄▄▄░░░░░░░ ///░░░░░░░░█████████████████▄██████░░░░░░░ ///░░░░░░░████▐█████▌████████▌█████▌░░░░░░░ ///░░░░░░████▌█████▌█░████████▐▀██▀░░░░░░░ ///░░░░▄█████░█████▌░█░▀██████▌█▄▄▀▄░░░░░░░ ///░░░░▌███▌█░▐███▌▌░░▄▄░▌█▌███▐███░▀░░░░░░░ ///░░░▐░▐██░░▄▄▐▀█░░░▐▄█▀▌█▐███▐█░░░░░░░ ///░░░░░███░▌▄█▌░░▀░░▀██░░▀██████▌░░░░░░░ ///░░░░░░▀█▌▀██▀░▄░░░░░░░░░███▐███░░░░░░░░ ///░░░░░░░██▌░░░░░░░░░░░░░▐███████▌░░░░░░░░ ///░░░░░░░███░░░░░▀█▀░░░░░▐██▐███▀▌░░░░░░░░ ///░░░░░░░▌█▌█▄░░░░░░░░░▄▄████▀░▀░░░░░░░ ///░░░░░░░░░█▀██▄▄▄░▄▄▀▀▒█▀█░▀░░░░░░░ ///░░░░░░░░░░░░▀░▀█▀▌▒▒▒░▐▄▄░░░░░░░ ///░░░░░░░░░░░▄▄▀▀▄░░░░░░▄▀░▀▀▄▄░░░░░░░ ///░░░░░░░░░▄▀░▄▀▄░▌░░░▄▀░░░░░░▄▀▀▄░░░░░░░ ///░░░░░░░░▐▒▄▀▄▀░▌▀▄▄▀░░░░░░▄▀▒▒▒▐░░░░░░░ ///░░░░░░░▐▒▒▌▀▄░░░░░▌░░░░▄▄▀▒▐▒▒▒▒▌░░░░░░░ ///░░░░░░▐▒▒▐░▌░▀▄░░▄▀▀▄▀▀▒▌▒▐▒▒▒▒▐▐░░░░░░░░ ///░░░░░░▌▄▀░░░▄▀░█▀▒▒▒▒▀▄▒▌▐▒▒▒▒▒▌▌░░░░░░░ ///░░░░░▄▀▒▐░▄▀░░░▌▒▐▒▐▒▒▒▌▀▒▒▒▒▒▐▒▌░░░░░░