Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (6)
  • Какие библиотеки, встроенные функции и контейнеры можно использовать в олимпиадном программировании?

    @AleexF
    Отвечу, как один из участников олимпиадного программирования.
    Вообще нюансов много. Библиотеки, которые нужны больше всего и которые использую я:
    #include <algorithm>
    #include <iostream>
    #include <memory.h>
    #include <iterator>
    #include <cassert>
    #include <fstream>
    #include <cstdlib>
    #include <vector>
    #include <cstdio>
    #include <string>
    #include <queue>
    #include <deque>
    #include <cmath>
    #include <ctime>
    #include <stack>
    #include <set>
    #include <map>

    Не советую использовать библиотеку #include <bits/stdc++.h> Т.к. бывают старые компиляторы(ver < 5.0), которые не включают её в себя, но иметь ввиду стоит. Эта библиотека включает в себя все, описанные выше и даже больше! Из контейнеров есть:
    queue <TYPENAME> - Очередь(Подробнее) Умеет узнавать первый элемент очереди, добавлять в конец, удалять из начала за О(1).
    deque <TYPENAME> - Модификация очереди ( Подробнее (cppstudio.com/post/8469 )) Тоже самое, но умеет добавлять и удалять с обоих концов.
    stack <TYPENAME> - Контейнер.(Подробнее) Умеет добавлять в начало и доставать из начала элемент.
    priority_queue <TYPENAME> - Модификация очереди(Годного описания не нашёл). Как set, только сортирует элементы по возрастанию.
    Ответ написан
    Комментировать
  • Как разбить число на элементы массива в с++?

    @AleexF
    То, что вы хотите сделать:
    #include <iostream>
    using namespace std;
    
    const int N = (int)1e5+1;
    
    string s;
    int a[N];
    
    int main()
    {
        cin >> s;
        int idx = 0;
        for (int i = 0; i < s.length(); i++) {
            a[idx] = s[i] - '0';
            idx++;
        }
        for (int i = 0; i < idx; i++) {
            cout << a[i] << ' ';
        }
        return 0;
    }

    Вариант покороче:
    #include <iostream>
    using namespace std;
    
    const int N = (int)1e5+1;
    
    string s;
    int a[N];
    
    int main()
    {
        cin >> s;
        int idx = 0;
        for (int i = 0; i < s.length(); i++) a[idx++] = s[i] - '0';
        for (int i = 0; i < idx; i++) cout << a[i] << ' ';
        return 0;
    }

    Вариант с векторами:
    #include <iostream>
    using namespace std;
    
    const int N = (int)1e5+1;
    
    string s;
    vector <int> a[N];
    
    int main()
    {
        cin >> s;
        for (int i = 0; i < s.length(); i++) a.push_back(s[i] - '0');
        for (int i = 0; i < a.size(); i++) cout << a[i] << ' ';
        return 0;
    }
    Ответ написан
  • Как скомпилировать kotlin проект в jar или executable?

    @AleexF Автор вопроса
    Я использовал IntelliJ IDEA. Нужно создать обычный kotlin проект. В нём заходим в Settings -> Project structure -> Artifacts. Создаём новый артифакт jar. Выбираем свой основной класс и нажимаем создать. Затем выбираем build -> build artifacts -> build jar. Всё.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (7)