2015-02-02 4 views
0

в польской matura из IT в задаче 5.1 нам нужно подсчитать возрастающую подпоследовательность, большую, чем 3 в файле, что 310 строк с значениями int, серия - это когда все значения pierervous меньше, чем next.Польский Матюра в ответах?

В ответах у нас есть счет возрастающей подпоследовательности, большей, чем 3, равный 14, но я всегда получаю 11, и у меня нет идеи, почему.

Кто-нибудь может сказать мне, что случилось?

Мой код:

static int Series = 0; 
static int Big = 0; 
public static void main(String[] args){ 
    Scanner In = new Scanner(System.in); 
    String Line = "Seria 1: "; 
    int Last = 0; 
    int i = 0; 
    while(In.hasNext()){ 
     int Current = In.nextInt(); 
     if(Last<Current){ 
      Series++; 
      Line +=Current+" "; 
     } 
     else{ 
      if(Series>=3){ 
       Big++; 
       System.out.println(Line+"#"); 
       Line="Seria "+(Big+1)+": "; 
      } 
      Series = 0; 
     } 
     Last = Current; 
    } 
    System.out.println(Big); 
    In.close(); 
} 

Существует файл с записями: http://wklej.to/phpgW

+1

неясно, что такое «большая серия». Вы ищете наибольшую увеличивающуюся подпоследовательность? – amit

+1

Не знаете, почему [тег: c] находится в тегах. –

+0

Также, пожалуйста, следуйте законам кодирования java, если вы кодируете injava. имена переменных и методы начинаются с букв в нижнем регистре (Last, Current, Big, Series, ....) – amit

ответ

0

Хорошо, насколько я знаю, ваша программа работает правильно и возвращает то, что вы ожидаете. Проблема может заключаться в формулировке. «Сумма увеличения подпоследовательности> = 3» может на самом деле относятся к двум различным путям приближения к нему:

  • Первый один ваш путь, конец последовательности как раз перед increasingness останавливается. Вы получаете последовательности, подобные {3,4,5} {9,12,45,23049,2123455}.

  • Второе сложнее - не имеет значения, продолжит ли возрастание, если у вас есть три числа в возрастающей последовательности, которые он считает. В этой интерпретации ввод 3,4,5,6,7 приводит к {3,4,5} {4,5,6} {5,6,7} и, возможно, даже к {3,4,5,6} { 4,5,6,7} и {3,4,5,6,7}.

Это чистая спекуляция, но она будет соответствовать довольно хорошо, если они попросили второй интерпретации (надеюсь, в не двусмысленно) с длиной последовательности = 3. Чем ваш вход будет действительно вернуться 14.

Смежные вопросы