№ 1789Квантовые вычисленияУровень 2

Прочитать раскраску из базисного состояния кубитов

Прочитайте раскраску графа с V вершинами, записанную в кубитах. В алгоритме Гровера это заключительный этап: измерить регистр и интерпретировать результат как возможное решение.

Входы — число разрядов цвета nBits и массив из V·nBits кубитов, гарантированно находящийся в базисном состоянии.

Напишите операцию на языке Q#, возвращающую массив из V целых nBits-битных цветов. Цвет вершины i хранится в кубитах от i·nBits до (i+1)·nBits−1 со старшим разрядом первым.

Например, nBits=2 и состояние $|000110\rangle$ означают цвета 00,01,10, то есть [0,1,2]. Операция не должна менять состояние кубитов.

Заготовка Q#:

namespace Kata {
    import Std.Arrays.*;
    import Std.Convert.*;

    operation ReadColoring(nBits : Int, qs : Qubit[]) : Int[] {
        // Implement your solution here...

        return [];
    }
}

Сообщить об ошибке

Войти, чтобы отправить материал.