На сайте в режиме реального времени публикуются решения контестных задач сервиса Codeforces.
Загружайте свои решения( здесь ) прямо на сайте. Подробнее. Жду ваших решений
 

По разделам

 

Задача Series 37


Дано целое число K, а также K наборов ненулевых целых чисел.
Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Найти количество наборов, элементы которых
возрастают или убывают.

Код (C/C++)

#include <stdio.h>
int main(void)
{
    int k;
    printf("K:");
    scanf("%i", &k);
 
    int count=0,ki,a=1,a1;
    for (ki=1; ki<=k; ++ki){
       printf(">");
       scanf("%i", &a);
       int checkup=1, checkdown=1;
       while(a!=0){
            a1=a;
            printf(">");
            scanf("%i", &a);
            if ((a1>=a)&&(a!=0)) checkup=0;
            if ((a1<=a)&&(a!=0)) checkdown=0;
        }
    if (checkup!=checkdown)  count+=1;
    }
    printf("%i\n",count);
    return 0;
}

Код (Python)

import random

K = random.randrange(1,9)

print("K = ",K)

N = 10
count_inc = 0
count_dec = 0
for i in range(0,K):
    x_prev = random.randrange(1,N)
    print(x_prev,end="; ")
    x = random.randrange(1,N)
    print(x,end="; ")
    
    if x > x_prev:
        flag_inc = True
    else:
        flag_inc = False
    if x < x_prev:
        flag_dec = True
    else:
        flag_dec = False
        
    while True:
        x_prev = x
        x = random.randrange(0,N)
        print(x,end="; ")
        if x == 0:
            break
        if not (flag_inc and x > x_prev):
            flag_inc = False
        if not (flag_dec and x < x_prev):
            flag_dec = False
    print()
    if flag_inc:
        count_inc += 1
    if flag_dec:
        count_dec += 1
print("Number of increasing series: ",count_inc)
print("Number of decreasing series: ",count_dec)
print("Number of increasing or decreasing series: ",count_inc + count_dec)
									

Код (Pascal)

program Series37;
var
  K,Ki,A,A1,Count:Integer;
  CheckUP,CheckDown:Boolean;
begin
 Write('K: ');
 Readln(K);
 Count:=0;
 for Ki:=1 to K do
  begin
   Write('A: ');
   Readln(A);
   CheckUp:=True;
   CheckDown:=True;
   repeat
    A1:=A;
    Write('A: ');
    Readln(A);
    if (A1>=A) and (A<>0) then CheckUp:=False;
    if (A1<=A) and (A<>0) then CheckDown:=False;
   until A=0;
    Writeln('---');
   If CheckUP xor CheckDown then Count:=Count+1;
  end;
  Writeln(Count);
end.
									




Series. Абрамян
Series 1 Просмотров: 21
Series 2 Просмотров: 14
Series 3 Просмотров: 19
Series 4 Просмотров: 26
Series 5 Просмотров: 20
Series 6 Просмотров: 14
Series 7 Просмотров: 16
Series 8 Просмотров: 12
Series 9 Просмотров: 18
Series 10 Просмотров: 18
Series 11 Просмотров: 18
Series 12 Просмотров: 15
Series 13 Просмотров: 16
Series 14 Просмотров: 15
Series 15 Просмотров: 17
Series 16 Просмотров: 27
Series 17 Просмотров: 21
Series 18 Просмотров: 15
Series 19 Просмотров: 18
Series 20 Просмотров: 13
Series 21 Просмотров: 14
Series 22 Просмотров: 14
Series 23 Просмотров: 20
Series 24 Просмотров: 13
Series 25 Просмотров: 24
Series 26 Просмотров: 15
Series 27 Просмотров: 14
Series 28 Просмотров: 17
Series 29 Просмотров: 9
Series 30 Просмотров: 9
Series 31 Просмотров: 12
Series 32 Просмотров: 9
Series 33 Просмотров: 10
Series 34 Просмотров: 20
Series 35 Просмотров: 13
Series 36 Просмотров: 8
Series 37 Просмотров: 11
Series 38 Просмотров: 16
Series 39 Просмотров: 10
Series 40 Просмотров: 16

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться