Как использовать внешний код для конкурентного программирования - PullRequest
0 голосов
/ 20 июня 2019

Решая задачу, я понял, что мне нужно хранить очень большие целые числа и что unsigned long long int не может сохранить ответ. Я прочитал, что этот код мог бы помочь мне с этой проблемой. Но я запутался по двум причинам.

Я не знаю, как на самом деле использовать этот файл в другом файле, который я использую для решения проблемы.

Я не знаю, как такой сайт, как codeforces, принял бы решение, использующее файл, к которому у него нет доступа.

1 Ответ

0 голосов
/ 20 июня 2019

CodeForces и другие OJ не принимают, включая любые другие файлы или заголовки, кроме как из включенного заголовка компилятора. Поэтому вы не можете использовать его, импортируя из другого файла в OJ.

Но если вы хотите использовать его локально, вы можете сделать это. Для этого загрузите или скопируйте содержимое Bigint.cpp в местоположение вашего источника. Может быть, как у меня.

├── bigint.h
└── main.cpp

Примечание: я переименовал Bigint.cpp в bigint.h

Затем вы можете написать свой код в main.cpp (или как хотите). Просто включите его в качестве заголовка. Может быть, что-то вроде этого.

   1 #include <bits/stdc++.h>
   2 
   3 using namespace std;
   4 
   5 #include "bigint.h"
   6 
   7 int main (){
   8     bigint b(1000);
   9     cout << b.size() << endl;
  10     return 0;
  11 }

Чтобы использовать его в решении проблем, вам просто нужно скопировать весь код в ваш исходный файл [После определения пространства имен и включая заголовки]. Как говорится в комментарии, не просто слепо использовать чужие коды Прочитайте код, чтобы понять.

...