Log2(4000000000)=4 байта на точку.
800*600*4=1920000 байт на картинку или 1920000*8=15360000 бит.
15360000/51200=300 секунд
Шесть
Если представить эти тропинки в виде проекции, то по сути мы имеем просто 3 отрезка, которые встречаются в одной точке (для проверки можете так 3 карандаша положить на стол концами друг к другу). Нам надо к каждому из трех "входов" подобрать по два "выхода" (при условии, что мы не можем вернуться назад).
То-есть мы должны 3*2 =6 раз спуститься, проложив 6 маршрутов.
// #includes {{{
#include <stdio.h>#include <iostream>#include <cmath>#include <algorithm>#include <fstream>#include <vector>#include <complex>#include <queue>#include <set>#include <map>#include <cstdlib>#include <cstdio>#include <cstring>#include <cassert>#include <ctime>#include <cmath>#include <string>#include <deque>#include <list>#include <math.h>#include <fstream>#include <stack>#include <iomanip>#include <bitset>#include <memory.h>#include <bitset>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <ctime>#include <assert.h>#include <stdarg.h>#include <time.h>#include <limits.h>#include <ctype.h>#include <complex>#include <bits/stdc++.h>// }}} // #defines {{{#define exp 1e-10#define sc scanf#define pr printf#define mk make_pair#define pb push_back#define pf push_front#define ll long long#define fi first#define se second#define eps 0.000000001#define INF 1000000007#define file "management"#define eps 0.000000001#define cmd 1000000009#define PI 3.14159265#define MOD 1000000007#define sz(x) ((int)(x).size())#define in(s) freopen(s, "r", stdin);#define pi 3.1415926535897#define rep(i, n) for(__typeof(n) i = 0; i < (n); i++)#define out(s) freopen(s, "w", stdout);#define sync ios_base::sync_with_stdio( 0 )// }}} <span>using namespace std;</span> <span>typedef long long lglg;</span><span>const int inf = 1<<30, maxN = 1000;</span><span>int ax[] = {0, 1, -1, 0, 0};</span><span>int ay[] = {0, 0, 0, -1, 1};</span> <span>int main()</span>{<span> string a;</span><span> int n, dp[102][102], i, j, px[102][102], py[102][102];</span><span> cin >> a;</span><span> memset(dp, 0, sizeof(dp));</span><span> memset(px, -1, sizeof(px));</span><span> a = "." + a;</span><span> n = a.size() - 1;</span><span> for (i = 1; i <= n; i++)</span><span> dp[i][i] = 1;</span><span> for (i = n; i >= 1; i--)</span><span> for (j = i + 1; j <= n; j++)</span><span> {</span><span> if (a[i] == a[j] && dp[i][j] < 2 + dp[i + 1][j - 1])</span><span> {</span><span> dp[i][j] = 2 + dp[i + 1][j - 1];</span><span> px[i][j] = i + 1;</span><span> py[i][j] = j - 1;</span><span> }</span><span> if (dp[i][j] < dp[i + 1][j])</span><span> {</span><span> dp[i][j] = dp[i + 1][j];</span><span> px[i][j] = i + 1;</span><span> py[i][j] = j;</span><span> }</span><span> if (dp[i][j] < dp[i][j - 1])</span><span> {</span><span> dp[i][j] = dp[i][j - 1];</span><span> px[i][j] = i;</span><span> py[i][j] = j - 1;</span><span> }</span> <span> }</span><span> cout << dp[1][n] <<<span>'\n'</span>;</span><span> int x = 1, y = n, q, w;</span><span> vector<char> ans;</span><span> char z = 0;</span><span> while (px[x][y] != -1)</span><span> {</span><span> if (px[x][y] == x + 1 && py[x][y] == y - 1)</span><span> ans.push_back(a[x]);</span><span> q = px[x][y];</span><span> w = py[x][y];</span><span> x = q;</span><span> y = w;</span><span> }</span><span> if (x == y)</span><span> z = a[x];</span><span> for (i = 0; i< ans.size(); i++)</span><span> cout << ans[i];</span><span> if (z != 0)</span><span> cout<< z;</span><span> for (i = ans.size() - 1; i >= 0; i--)</span><span> cout<< ans[i];</span><span> return 0;</span> } <span> </span>
Эх, буду говорить по своим предположениям(в любом случае можно в интернете найти точно)
1. хз, 1970-1990 наверн
2. это красивый язык, комментарии заключаются в /* вот тут */ нужны для понимания кода другими программистами, правила написания: не писать программы, сложные для понятия другим программистами, например с goto
3. алфавит английский, элементы это операторы, самые различные возможности
4. условие это функция, встроенная в язык си, когда мы пишем <= к примеру, вызывается функция operator<=(), которая возвращает нужный нам результат посылая команды процессору и отвечая нам
5. константы const(нельзя изменять, или ошибка) идентификаторы это названия наверное, ключевые слова, int, char.
6. int, char, float
7. int a; char b; float c;
8.printf("Привет %d",a); напишет Привет и выведет на экран число a, scanf("%d",&a) считает число с ком. строки и запишет его в переменную а(для всех нужна библиотека stdio.h)
9. printf, scanf, int, char, float
10.cout << a << b << c << endl;
11. не понял вопроса
12. тоже
13. тоже
14. for(нач. знач.;условие;шаг){тело} while(условие){тело}
15. do{тело}while(условие)
16. for(нач. знач.;условие;шаг){тело}
17. #include #if #endif #define #ifndef
18. :(
19. массивы это указатели int* a = new int[размер массива](динамический массив) int a[размер](статический) работает как с обычной переменной, только необходимо указывать номер элемента
20.то же самое что обычные, только 2 размера int a[размер1][размер2]; для доступа необходимо в точности указать 2 индекса, [4][1] и [1][4] это разные вещи, заполнить случайными числами через 2 цикла, один из которых вложенный с помощью rand();
Var i, s: integer;
begin
For i:= 1 to 10 do
s:= s+ sqr(i);
write(s);
end.