Это он немного пошутил, он всех рассаживает по алфавиту и выдает сам задачу, их всего 3 для каждого потока, т.е 1-ому по списку дает 1ую, 2ому - 2ую, 3 -3, а потом опять по кругу.
Вот моя задача(см. задачу F1aSh'a):
#include "stdafx.h"
#include <stdio.h>
#define N 3
int matrix(int A[N][N])
{
int i, j, B[N][N], C[N][N], k;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
B[i][j] = A[j][i];
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
{
C[i][j] = 0;
for (k = 0; k < N; k++)
C[i][j] += A[i][k] * B[k][j];
}
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
if ((C[i][j] != 0 && i != j) || (C[i][j] != 1 && i == j))
return 0;
return 1;
}
int main()
{
int i, j, A[N][N];
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d", &A[i][j]);
if (matrix(A))
printf("YES\n");
else
printf("NO\n");
return 0;
}
Отредактировано ProfRog (2007-01-13 18:05:22)