// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
// заполним информацию случайным образом;
// если хорошистов в результате не окажется,
// просто перезапускаем задачу
randomize;
var a:=MatrRandom(13,10,4,5); // везде только 4 и 5
for var i:=1 to 20 do // раскидаем 20 троек
a[Random(13),Random(10)]:=3;
a.Println(2); Writeln;
// собственно, решение
var k:=0;
foreach var r in a.Rows do
if r.All(x->x<>3) and not r.All(x->x=5) then k+=1;
Writeln(k,' хорошистов')
end.
Пример
5 5 4 4 4 5 3 3 4 4
5 4 4 4 3 4 5 5 4 5
5 5 5 3 5 4 4 5 5 4
3 5 4 3 4 4 5 5 5 3
5 3 4 4 5 4 4 5 5 4
3 5 5 5 5 4 4 4 4 3
4 4 5 3 5 4 4 5 4 5
4 5 4 4 4 4 4 4 5 4
3 5 3 4 4 4 4 4 5 3
5 5 4 5 4 4 4 5 4 5
4 5 4 5 4 5 3 4 5 5
4 5 4 4 4 4 5 4 4 5
4 3 5 4 4 4 5 5 3 5
3 хорошистов