Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1
  1  Абдурахмон Махкамов, 22 сентября 2023 г. 12:49:09
     #include <iostream> #include <vector> #include <algorithm> #include <bits/stdc++.h> using namespace std; struct Tower{ int id; // Номер башни vector < int > values; // Значения для вычисления башни bool operator<(const Tower& other) const { long long this_value = 1; for (int val : values) { this_value = pow(val, this_value); } long long other_value = 1; for (int val : other.values){ other_value = pow(val, other_value); } return this_value < other_value; } }; int main() { int N; cin >> N; vector<Tower> towers(N); for (int i = 0; i < N; ++i) { towers[i].id = i + 1; int k; cin >> k; towers[i].values.resize(k); for (int j = 0; j < k; ++j) { cin >> towers[i].values[j]; } } sort(towers.begin(), towers.end()); // Выводим порядок башен for (const Tower& tower : towers) { cout << tower.id << endl; } }
  2  Абдурахмон Махкамов, 22 сентября 2023 г. 12:48:48
     Привет
 1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru