Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2015-09-07 09:24:49

oleg_teacher
Новий користувач
Зареєстрований: 2015-09-07
Повідомлень: 4

Проблеми тренувального туру.

Чи не могли б ви перевірити задачу тренувального туру "Задача DEMO_F". У мене таке відчуття, що Ваша система некоректно спримає вхідні дані.
Постійно помилка FAILED (Time Out)
Я вже просто взяв зчитування данних, і вивід неправильної відповіді.. але всерівно не помилка "Вронг ансвер" а саме FAILED (Time Out)

var  n,m,i,j,a,b:longint;
s:string;
begin
readln(n);
for i:=1 to n do
begin

readln(m);
for j:=1 to m do
readln(a,b);

end;
writeln('1');
end.

Наголошую - це неправильний розвязок, а просто читання даних... без ніяких опрацювань.. і всерівно в ліміт часу не вкладаюся.. такого бути не може? чи паскаль щось не так робить?

Поза форумом

 

#2 2015-09-08 17:46:17

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 440

Re: Проблеми тренувального туру.

Шановний! При автоматизованій перевірці слід СТРОГО слідувати технічним умовам! Формат введення і виведення має їм повністю відповідати!
=========================================================
program demo_f;
var n,k,i,j: integer;
x,y,p: byte;
b: boolean;
a: array[1..32000] of boolean;
begin
read(n);
for i:=1 to n do begin
read(k);
if k=0 then begin
a[i]:=true;
break;
end;
read(x,y);
p:= (x+y) mod 2;
b:=true;
for j:=1 to k-1 do begin
read(x,y);
if (x+y) mod 2<>p then begin
b:=false;
end;
end;
a[i]:=b;
end;
for i:=1 to n do if a[i] then write('1') else write('0');
end.
=========================

Поза форумом

 

#3 2015-09-08 22:00:36

oleg_teacher
Новий користувач
Зареєстрований: 2015-09-07
Повідомлень: 4

Re: Проблеми тренувального туру.

Дякую, Шанований, наш член жюрі за відповідь.
А чи не могли б ви детально пояснити чому саме так у вас відбувається.. це ваша система така?
Ось погляньте..
Ваш формат вхідних даних http://c2n.me/3ndO0Lh
Тобто
3
3
1 2
і т.д.
Ви пропонуете читати дані за допомогою команди read
Наскільки я вчив раніше, і читав літературу (наприклад при роботі із файлами так відбувається на всі 100%) то вхідні дані так, беззаперечно можна прочитати таким способом як ви.. але якщо я напишу
readln(n)
то n=3 і курсор буде переведено для читання у наступний рядок.. так як у вас у форматі даних.
Далі readln(m) => m=3 (трійка у другому рядку)
readln(a,b) читаємо 1 і 2 і переводимо на наступний рядок...

До речі.
Спробував у себе видозмінити трішки код перший (неправильний) на команду read..  і о чудо.. тільки кількість Ваших тестів находяться у першому рядку.. а усі інші числа повинні бути в другому рядку... тобто надалі команда readln не спрацьовує.

Ось правильна видозміна.
readln(n);
for i:=1 to n do
begin

read(m);
for j:=1 to m do
read(a,b);

end;

Як на мене це не коректно.. покажіть де я порушив ваші вимоги формату вхідних даних?
P.S. Замінив readln на read і моя програма запрацювала на всі 100%.

Поза форумом

 

#4 2015-09-11 13:02:10

LeBIIIa
Новий користувач
Зареєстрований: 2015-09-11
Повідомлень: 1

Re: Проблеми тренувального туру.

А тепер я не зрозумів, якщо я працюю з С++ у цій мові є два варіанта зчитування даних як я знаю cin та scanf. Який з цих операторів можна застосувати до задачі F?

Поза форумом

 

#5 2015-09-11 15:42:17

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 440

Re: Проблеми тренувального туру.

Проблема в тому, що ви не враховуєте, що в ReadLn в вкладеному циклі, проводячи зчитування останнього рядка, переводить показчик на  нову стрічку, і ваша програма чекає цієї стрічки, яка форматом введення НЕ ПЕРЕДБАЧЕНА...

Поза форумом

 

#6 2015-09-11 15:43:37

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 440

Re: Проблеми тренувального туру.

LeBIIIa написав:

А тепер я не зрозумів, якщо я працюю з С++ у цій мові є два варіанта зчитування даних як я знаю cin та scanf. Який з цих операторів можна застосувати до задачі F?

Спробуйте обидва - на те і тренувальний тур :-)
Якщо не помилитеся - обидва підійдуть...

Поза форумом

 

#7 2015-09-14 15:55:28

max_gh
Новий користувач
Зареєстрований: 2015-09-14
Повідомлень: 2

Re: Проблеми тренувального туру.

Добрий день, пишу на мові програмування С++. В мене проблема з задачою А, скинув на сайт задачу після чого отримав повідомлення: "Сталася технічна помилка". Всі умови, що до введення виведення даних я дотримуюсь, програма працює провірено всі виключення. Підкажіть в чому проблема? З бібліотек використовую тільки iostream. (В програмі відсутні паузи вроді system("pause")).

Поза форумом

 

#8 2015-09-14 16:04:04

max_gh
Новий користувач
Зареєстрований: 2015-09-14
Повідомлень: 2

Re: Проблеми тренувального туру.

#include<iostream>
using namespace std;

int main()
{
    const int MAX = 8;
    int line[MAX],result,low,higt,max = 0,min = 1000;
    cin>>line[0];
    cin>>line[1];
    cin>>line[2];
    cin>>line[3];
    cin>>line[4];
    cin>>line[5];
    cin>>line[6];
    cin>>line[7];
...
              cout<<result;
              return 0;
}

Поза форумом

 

#9 2015-09-14 19:17:29

Жюри_Пасихов
Адміністратор
Зареєстрований: 2009-11-08
Повідомлень: 440

Re: Проблеми тренувального туру.

!!!!!! Якщо файл має інше, ніж назва задачі ім'я, то система замінить назву задачі. Або вручну поправляйте перед відсиланням, або назвайте файл іменем задачі

Поза форумом

 

#10 2015-09-15 21:05:36

oleg_teacher
Новий користувач
Зареєстрований: 2015-09-07
Повідомлень: 4

Re: Проблеми тренувального туру.

Жюри_Пасихов написав:

Проблема в тому, що ви не враховуєте, що в ReadLn в вкладеному циклі, проводячи зчитування останнього рядка, переводить показчик на  нову стрічку, і ваша програма чекає цієї стрічки, яка форматом введення НЕ ПЕРЕДБАЧЕНА...

))) цікаво... дійсно... зазвичай усі інші системи (можливо із -за того що працюють з файлами) в кінці тестів ставлять символ завершення рядка... буду знати.. а взагалі то виходить універсально зчитувати потрібно лише read

Поза форумом

 

#11 2015-09-30 16:20:03

elitogoo
Новий користувач
Зареєстрований: 2015-09-30
Повідомлень: 2

Re: Проблеми тренувального туру.

Вибачте, не можу вирішити DEMO_B. Просто не зрозумів умову. Або ж хоча б сказати що означає ця умова?

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt