Форум программистов, компьютерный форум CyberForum.ru

Клетки - C++

Восстановить пароль Регистрация
 
varkich
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 18
19.06.2012, 20:07     Клетки #1
Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки). Одного ли цвета эти клетки на шахматной доске?
Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе.
Примеры
input.txt output.txt
1 1 2 2 YES

1 1 1 4 NO
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2012, 20:07     Клетки
Посмотрите здесь:

на шахматной доске заданы 2 клетки соедините эти 2 клетки кратчайшим путем коня C++
Задaчa-курсач про клетки и их стороны C++
В таблице из N строк и N столбцов клетки заполнены цифрами от 0 до 9. Требуется найти такой путь из клетки (1, 1) в клетку (N, N C++
C++ Одного ли цвета клетки на шахматной доске?
C++ Занумеровать клетки исходного квадрата следующим образом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.06.2012, 20:12     Клетки #2
C++
1
std::cout << ((((x1 + y1) & 1) == ((x2 + y2) & 1)) ? "YES" : "NO") << std::endl;
varkich
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 18
19.06.2012, 20:21  [ТС]     Клетки #3
Цитата Сообщение от soon Посмотреть сообщение
C++
1
std::cout << ((((x1 + y1) & 1) == ((x2 + y2) & 1)) ? "YES" : "NO") << std::endl;
вы не могли бы написать подробней?
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
19.06.2012, 20:26     Клетки #4
Подробней:
C++
1
2
3
4
if (((x1 + y1) & 1) == ((x2 + y2)& 1))
    std::cout << "YES\n";
else
    std::cout << "NO\n";
Но вот что значит
C++
1
(x1+y1)&1
не пойму..
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.06.2012, 20:41     Клетки #5
вы не могли бы написать подробней
Неа. Человеку более-менее умному достаточно моего ответа.

yleart, Гуглите битовые операции.
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
19.06.2012, 20:50     Клетки #6
C++
1
(x1+y1)&1
Если x1 + y1 в сумме дают число, в двоичной системе оканчивающее на 0 (т.е четное ), то выражение ложно, то же со второй скобкой, и результат будет истинным
Т.е. если x1 + y1 и x2 + y2 четны или нечетны одновременно, то они стоят на клетках одного цвета
можно было через % еще сделать, но soon сделал лучше
Yandex
Объявления
19.06.2012, 20:50     Клетки
Ответ Создать тему
Опции темы

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru