// tek-tekstowka-brut.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu. // #include <iostream> #include <algorithm> constexpr int MAXN = 3007; int dp[MAXN][MAXN]; int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0); int n, m, q, a, b, x, y, c, z; std::string s1, s2; std::cin >> n >> m >> q >> s1 >> s2; while (q--) { std::cin >> a >> b >> x >> y; for (c = a; c <= b; c++) { dp[c][x - 1] = 0; } dp[a - 1][x - 1] = 0; for (z = x; z <= y; z++) { dp[a - 1][z] = 0; } for (c = a; c <= b; c++) { for (z = x; z <= y; z++) { dp[c][z] = std::max(std::max(dp[c - 1][z], dp[c][z - 1]), dp[c-1][z-1]+ (s1[c-1] == s2[z-1])); } } std::cout << dp[b][y] << '\n'; } } // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie // Porady dotyczące rozpoczynania pracy: // 1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi // 2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła // 3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty // 4. Użyj okna Lista błędów, aby zobaczyć błędy // 5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu // 6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | // tek-tekstowka-brut.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu. // #include <iostream> #include <algorithm> constexpr int MAXN = 3007; int dp[MAXN][MAXN]; int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0); int n, m, q, a, b, x, y, c, z; std::string s1, s2; std::cin >> n >> m >> q >> s1 >> s2; while (q--) { std::cin >> a >> b >> x >> y; for (c = a; c <= b; c++) { dp[c][x - 1] = 0; } dp[a - 1][x - 1] = 0; for (z = x; z <= y; z++) { dp[a - 1][z] = 0; } for (c = a; c <= b; c++) { for (z = x; z <= y; z++) { dp[c][z] = std::max(std::max(dp[c - 1][z], dp[c][z - 1]), dp[c-1][z-1]+ (s1[c-1] == s2[z-1])); } } std::cout << dp[b][y] << '\n'; } } // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie // Porady dotyczące rozpoczynania pracy: // 1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi // 2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła // 3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty // 4. Użyj okna Lista błędów, aby zobaczyć błędy // 5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu // 6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln |