program abc;
var n,m,k:int64; a:array [0..210] of int64;
begin
assign(input,'collection.in');
assign(output,'collection.out');
readLn(n,m,k);
for i:int64:=0 to n-1 do
for j:int64:=0 to m-1 do Inc(a[(i+j) mod k]);
for i:int64:=0 to k-1 do write(a[i],' ');
end.
Объяснение:
program chess;
var N,M,K,I:int64;
begin
readln(N,M,K);
if ((N mod K)=0) then if ((M mod K)=0) then
for I:=K downto 1 do
writeln((N*M)/K);
if ((N mod K)<>0) then if ((M mod K)<>0) then
writeln(((N*M)div K)+1);
for I:=K-1 downto 1 do
writeln((N*M)div K);
end.
Объяснение:
Тернарная операция в C++ - это выражение вида (b ? x : y) (где b - логическое выражение, а x и y - одного типа). Она вернёт x, если выражение b истинно, и y, если b ложно.
В приложении расписаны координаты некоторых клеток, а также помечены точками те, которые по цвету отличаются от не помеченных. Если поискать, что у них общего, можно обнаружить, что у "невыколотых" клеток сумма координат по горизонтали и вертикали - чётная. Это "свойство" и используем для определения цвета клетки.
#include <bits/stdc++.h>
using namespace std;
int main() {
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << ((x1 + y1) % 2 == (x2 + y2) % 2 ? "YES" : "NO") << endl;
return 0;
}
Язык п.-Pascal ABC
var
n, m, k, i, j, t: integer;
a: array [1..100, 1..100] of integer;
b: array [1..100] of integer;
begin
readln(n, m, k);
for i := 1 to n do
for j := 1 to m do
a[i, j] := (i + j) mod k;
for t := 1 to k do
begin
for i := 1 to n do
for j := 1 to m do
if (not ((t - 1) <> a[i, j])) then
b[t] := b[t] + 1;
write(b[t]:3);
end;
end.
Объяснение:
можно было и побольше дать, все таки это самое сложное из заданий Т-Т...