С++ , Разделение королевства Разделение королевства
Королевство Флатландия имеет вид бесконечной двумерной плоскости. В королевстве находятся n замков. Для более удобного составления карт в Флатландии была введена Декартова система координат. Известно, что i-й замок находится в точке с координатами (xi+0.5, yi+0.5), где xi, yi — целые числа. Местоположения всех замков попарно различны.
На старости лет король решил разделить на карте королевство между своими сыновьями прямыми, параллельными осям координат. Если прямая параллельна оси Ox, то у-координата всех точек на прямой должна быть целым числом, иначе x-координата у всех точек должна быть целым числом. В обоих случаях соответствующие целые координаты по модулю не должны превышать 2⋅109. При этом Его величество хочет, чтобы после разделения королевства любые два замка оказались в различных частях.
королю разделить королевство, используя не более чем n−1 прямую. У любой пары прямых должно быть не более одной общей точки.
Входные данные
В первой строке задано целое число n (1≤n≤100000) — количество замков в королевстве. В следующих n строках записаны по два числа xi и yi (−109≤xi≤109, −109≤yi≤109) — целые части координат замков.
Выходные данные
В первой строке выходного файла выведите количество используемых прямых. В следующих строчках выведите сами прямые, по одной в каждой строке. Если прямая параллельна оси Ox, то выведите символ "y", а затем через пробел y-координату всех точек на этой прямой, иначе выведите символ "x", а затем через пробел x-координату всех точек на этой прямой.
Примеры
Ввод
Вывод
4
0 2
0 3
1 2
1 3
2
y 3
x 1
using namespace std;
int main() {
const int S = 6;
int matrix[S][S];
cout << "Введите матрицу построчно, разделяя пробелами: " << endl;
for (int i = 0; i < S; i++) {
for (int j = 0; j < S; j++) {
cin >> matrix[i][j];
}
cout << endl;
}
int p;
cout << "p = ";
cin >> p;
int count = 0, max;
for (int i = 0; i < S; i++) {
max = matrix[i][0];
for (int j = 1; j < S; j++) {
if (matrix[i][j] > max) max = matrix[i][j];
}
if (max > p) count++;
}
cout << endl << "ответ: " << count;
return 0;
}
239 символів включаючи пробіли між словами, знаки пунктуації і букви. Якщо в 8 бітному кодуванню то кожен символ кодується 8 бітами(або 1 байтом)
239*8=1912біт=239байт (щоб перейти від біт до байт треба просто поділити на 8, тому що 1 байт має 8 біт)
Якщо в 16 бітному(або 2 байтовому) то
239*16=3824біт=478байт