Wednesday, August 23, 2017

Демонстрационный вариант 2018 от ФИПИ "Задача 27 ВКонтакте 22.08.17" Версии кода на C++ , Python


[boris@fedora26workstation VK]$ cat div26.cpp
#include <iostream>
using namespace std;

int main(){
int k2, k13, k26, a, n, k;
cout << "Please set length of array"  << endl;
cin >> n;
cout << "Length was set = " << n << endl;

k2 =0;
k13 = 0;
k26 = 0;
k = 0;

for (int i = 1; i <= n; i++){
cin >> a ;
if (a % 26 == 0)
{
      k26++;
      //cout << "k26 = " << k26 << endl;
}
else if (a % 13 == 0)
{
       k13++ ;
       //cout << "k13 = " << k13 << endl;
}
else  if (a % 2 == 0)
{
      k2++;
      //cout << "k2 = " << k2 << endl;
}
else
{
    //cout << "All three counters stay the same" << endl;
}
}

k = k13*k2 + k26*(n-k26) + (k26*(k26-1))/2 ;

cout << "Result is " << k << endl;
}

Слагаемое  (k26*(k26-1))/2 есть число сочетаний из k26 по два

[boris@fedora26workstation VK]$ ./div26
Please set length of array
13
Length was set = 13
2
13
2
13
2
13
1
1
52
52
52
52
52
Result is 59

Tested version in Python 

[boris@fedora26workstation VK]$ cat dba26.py

print "Assign length for array"
N = int(input())
print "Length is equal ",N

k2 = k13 = k26 = 0

for i in range(N):
    a = int(input())
    if a % 26 != 0:
        if a % 2 == 0: k2 += 1
        if a % 13 == 0: k13 += 1
    else: k26 += 1        

R = k2*k13 + k26*(N-k26) + (k26*(k26-1)) / 2

print "Result is equal ",R

Слагаемое  (k26*(k26-1)) / 2 есть число сочетаний из k26 по два.






Tuesday, August 22, 2017

Демонстрационный вариант 2018 от ФИПИ "Задача 23 ВКонтакте 22.08.17"

Построим Дерево Решений на основании первого уравнения
системы
  
  Конвертируем систему

  (x1^¬y1)v(¬x2^y2) = 1
  (x2^¬y2)v(¬x3^y3) = 1
  (x4^¬y4)v(¬x5^y5) = 1
  (x5^¬y5)v(¬x6^y6) = 1
  (x6^¬y6)v(¬x7^y7) = 1

   Применим метод отображений для генерации матрицы на основе
   базовой диаграммы.  

 
   Сделаем проверку - калькулятор Полякова
  


 

Monday, August 21, 2017

Решение методом отображений "Задачи 23 №8671 Сдам ЕГЭ"


Строим последовательно

1 - Дерево решений

   

2 - Базовую диаграмму
3 - Генерируем матрицу


Sunday, August 6, 2017

Насколько гибким может быть метод отображений "Сдам ЕГЭ Задание 23 7768"

Оригинальная идея исходит из техники Е.А. Мирончик, изложенной в документе ege23.doc на сайте К.Ю. Полякова. Конкретная задача отличается диспозицией нулей при генерации матрицы первых 5-ти уравнений и деревом решений при завершении подсчета окончательного числа решений с учетом 2-ух последних уравнений. Исходное уравнение взято на https://inf-ege.sdamgia.ru/test?theme=264. Этот пост носит характер попытки применения метода отображения в ситуации несколько более сложной, чем этого обычно требуют задачи ЕГЭ.
 
Мы преднамеренно игнорируем известную битовую маску для {x} и решение представленное в видео Информатика БУ (2015

Демо Версия ЕГЭ Информатика)

https://www.youtube.com/watch?v=MDL5Mym5Aac


(x1 ∨ x2) ∧ ((x1 ∧ x2) →x3) ∧ ¬ (x1 ∧ y1) = 1
(x2 ∨ x3) ∧ ((x2 ∧ x3) →x4) ∧ ¬ (x2 ∧ y2) = 1
...
(x5 ∨ x6) ∧ ((x5 ∧ x6) →x7) ∧ ¬ (x5 ∧ y5) = 1
(x6 ∨ x7) ∧ ¬(x6 ∧ y6) = 1
x7 ∧ y7 = 0


**************************************

Конвертация :-
*************************************

(x1 ∨ x2) ∧ ((x1 ∧ x2) →x3) ∧ (x1 => ¬y1) = 1
(x2 ∨ x3) ∧ ((x2 ∧ x3) →x4) ∧ (x2 => ¬y2) = 1
...
(x5 ∨ x6) ∧ ((x5 ∧ x6) →x7) ∧ (x5 => ¬ y5) = 1
(x6 ∨ x7) ∧ (x6 => ¬y6) = 1
x7 ∧ y7 = 0


Дерево решений:

 x1  x2  x3  y1
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
1
0

Отображение уравнений 1-5
Наличие у1 {0,1} удваивает
число путей из 01 {x1,x2} в  10 и 11 {x2,x3}


Дерево решений:

(x6 ∨ x7) ∧ (x6 => ¬y6) = 1
x7 ∧ y7 = 0


x6 x7 y6 y7
0 1 1 0
0 0
1 0 0 1
0
1 0 0


      Генерируем матрицу
  


Saturday, August 5, 2017

Метод Отображений versus Решение задания №23. ЕГЭ по информатике - 2017. Демоверсия ФИПИ (БУ)

Информатик БУ решает задачу,расщепляя систему и накладывая стандартные битовые маски на {X} and {Y} с последующим сцеплением кортежей следуя логике задачи.

Знание метода отображений (Е. Мирончик) позволяет решить эту
же задачу просто формально следуя принципам метода.
1. http://informat444.narod.ru/11/K11-13-1.pdf
2. http://kpolyakov.spb.ru/download/mea-2013-10.pdf

Вернемся к применению битовых масок Информатиком БУ

https://www.youtube.com/watch?v=uQtANwb_-Qs


  Применим к той же задаче Метод отображений

  (x1 => (x2^y1)) ^ (y1 => y2) = 1
  (x2 => (x3^y2)) ^ (y2 => y3) = 1
  . . . . . . .
  (x5 => (x6^y5)) ^ (y5 => y6) =1
  (x6 => y6) =1


  Строим базовую диаграмму  x1y1, x2y2 на основе истинности первого уравнеия для соответсвующих пар {x1y1,x2y2}


   Генерируем матрицу ( учитывая , что x6->y6 is False on line {1,0} )