Судя по ответам, один из них правдолюб, а другой лжец.
1) Допустим, что первый - лжец, а второй - правдолюб.
Тогда, по словам правдолюба, на о-ве 1000(л) и 1000(п)=999(как он сказал)+1(он сам).
Проверяем слова лжеца.
Вместе с ним - 1002 лжеца и 1002 правдолюба.
Единственный вариант верный: он в обоих случаях назвал число на 2 меньшее, чем правильный ответ.
Итого на о-ве: 1000(л) и 1000(п).
2) На всякий случай, проверим второй вариант: первый - правдолюб, а второй - лжец.
По словам правдолюба, вместе с ним на о-ве 1001(л) и 1003(п).
По словам лжеца, включая его, на о-ве 1001(л) и 999(п).
Очевидно, что как бы мы не прибавляли и не убавляли 2, нужного ответа у нас не получится.
Значит, верный ответ только один. На острове 1000 лжецов и 1000 правдолюбов.