Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bdd prop3(const bdd cur[NUM_OB][NUM_OB], int cVal, const bdd neigh[NUM_OB][NUM_OB], int nVal)
- {
- bdd task = bddtrue;
- int neighPos;
- int right = -2;
- for (int i = 0; i < NUM_OB; i++)
- {
- if (i % NUM_COLUMN == 0)
- task &= !neigh[i][nVal]; //================ 1 столбик не мб правым соседом
- if (i % NUM_COLUMN == NUM_COLUMN - 1)
- task &= !cur[i][cVal]; //============= 3 столбик не имеет соседа справа
- }
- for (int i = 0; i < NUM_COLUMN; i++)
- {
- task &= !cur[i][cVal]; //================== 1 строка не может иметь правого верхнего соседа
- }
- for (int i = NUM_OB - NUM_COLUMN; i < NUM_OB; i++)
- {
- task &= !neigh[i][nVal]; //=================== 3 строка не может быть правым верхним соседом
- }
- for(int i = 1; i < NUM_COLUMN; i++){
- for(int j = 0; j < NUM_COLUMN-1; j++){
- neighPos = i*NUM_COLUMN+j + right;
- task &= !(cur[i*NUM_COLUMN+j][cVal] ^ neigh[neighPos][nVal]);
- }
- }
- return task;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement