В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
fwooper
fwooper
15.06.2022 14:02 •  Информатика

(на с++, pyton или pascal)
деяке натуральне число шишок міша розклав на дві купки з кількостю шишок у кожній a та b і запропонував маші зіграти з ним у наступну гру: за один хід дозволяється взяти довільне натуральне число шишок, але лише з однієї купки. виграє той, хто забрав останню шишку. маша завжди ходить першою.

визначте для a та b хто виграє при оптимальній грі кожного з гравців.

вхідні дані

у першому рядку задано кількість тестових випадків n (1 ≤ n≤ 105). у наступних n рядках задано по два невід'ємних цілих числа a та b, кожне з яких не перевищує 2·109.

вихідні дані

у єдиному рядку виведіть без пропусків послідовність з n цифр 1 або 2 - номер гравця, який виграє при оптимальній грі в черговому тестовому випадку.

вхідні дані
3
3 5
1 1
4 1
вихідні дані
121

Показать ответ
Ответ:
kghjg
kghjg
20.11.2021 17:03
var  mas1, mas2: array[0..9] of integer;  t, k, i, j: integer; 
begin  
readln(t);  
readln(k);  
for j := 0 to 1 do  begin   
      if (j = 1) then writeln();        
                 for i := 0 to 9 do    begin      
                          if(j = 0) then begin       
                                  mas1[i] := random(100);        
                                    write(mas1[i], ' ');       
                                    if mas1[i] > t Then mas1[i] := mas1[i] + 4;      
                              end      
                            else 
                               begin       
                                      mas2[i] := random(100);        
                                      write(mas2[i], ' ');       
                                       if mas2[i] > 10 * K Then         
                                            mas2[i] := mas2[i] + K;      
                                end;    
                       end;       
                  for i := 0 to 9 do     
                         if (j = 0) then 
                               write(mas1[i]) 
                        else 
                                write(mas2[i]);    
               writeln();  
           end;  
readln();
end.

))
0,0(0 оценок)
Ответ:
Koif32
Koif32
20.11.2021 17:03
Uses Crt;
const
  n=10;
var
  a,b:array[1..n] of integer;
  i,k,t:integer;
begin
  ClrScr;
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(50);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n do begin
    b[i]:=Random(50);
    Write(b[i],' ')
    end;
  Writeln;
  Write('k t='); Read(k,t);
  for i:=1 to n do begin
    if a[i]>t then a[i]:=a[i]+4;
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n do begin
    if b[i]>10*k then b[i]:=b[i]+k;
    Write(b[i],' ')
    end;
  Readkey
end.

Тестовое решение:
1 6 23 12 47 1 44 24 6 18
31 30 30 29 0 3 43 32 46 21
k t=2 20
1 6 27 12 51 1 48 28 6 18
33 32 32 31 0 3 45 34 48 23
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота