Параллельное программирование с++,openmp

96
21 ноября 2021, 16:50

Задание было, написать программу и распараллелить ее, само задание звучит так : Циклическим сдвигом строки s называется строка sksk+1sk+2…s|s|s1s2…sk-1 для некоторого k, здесь |s| - длина строки s. Подстрокой строки s называется строка sisi+1…sj-1sj для некоторых i и j. Вам даны две строки a и b. Выведите количество подстрок строки a, являющихся циклическими сдвигами строки b.

Входные данные Первая строка входного файла INPUT.TXT содержит строку a (1 ≤ |a| ≤ 1000). Во второй строке входного файла записана строка b (1 ≤ |b| ≤ min(100,|a|)). Обе строки состоят только из символов английского алфавита и цифр.

Выходные данные В выходной файл OUTPUT.TXT выведите целое число – ответ на задачу. Программу я написал, но распараллелить не смог,аргументируя ,что дана последовательность, которую если разбив то можно потерять пару c, сказали,что я не прав и что можно распараллелить , подскажите как это можно реализовать

#include<iostream>
include include

using namespace std;

string cs(string s) {

if (s.size())
    s = (s + s[0]).erase(0, 1);
return s;

}

int f(string s, string t) {

string  q;
 q = s;
int k = 0, i = 0, j;
do {
    do {
        j = t.find(s, i);
        if (j == string::npos)
            i = 0;
        else {
            k++;
            i = j + 1;
        }
    } while (i);
    s = cs(s);
} while (s != q);
return k;

}

int main() {

ifstream in("input.txt");
ofstream out("output.txt");

string t, s;

in >> t >> s;
int k ;
k = f(s,t);
cout << k;
out << k;
out.close();
return 0;

}

READ ALSO
Как сделать скролл картинок по горизонтали?

Как сделать скролл картинок по горизонтали?

Как сделать, что бы картинки располагались как на примере

256
Как убрать hover?

Как убрать hover?

ссылка на codepen Как убрать hover эффекты с помощью скрипта на экранах меньше 992px?

247
Не получается отловить событие у карты Air Datepicker

Не получается отловить событие у карты Air Datepicker

Хотела реализовать следующий функционал: слева располагается статичная и всегда открытая карта, которая позволяет выбирать дату и подсвечивать...

120