Решения задач acmp.ru
Главная
Вход
Регистрация
Вторник, 29.09.2020, 00:44Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » C++

0019 Ферзь, ладья и конь

Скачать файл можно после просмотра рекламы:

05.06.2012, 02:23
#include <stdio.h>

int ABSI(int a)
{ return (a<0)?(-a):(a); };

int main()
{
char kx, ky, fx, fy, lx, ly, c;
unsigned int sum = 0;

FILE * f = fopen("input.txt", "r");
fscanf(f,"%c%c", &fx, &fy);
fscanf(f,"%c",&c);
fscanf(f,"%c%c", &lx, &ly);
fscanf(f,"%c",&c);
fscanf(f,"%c%c", &kx, &ky);
fscanf(f,"%c",&c);
fclose(f);

fx -= 65; lx -= 65; kx -= 65;
fy -= 49; ly -= 49; ky -= 49;

for (int x = 0; x < 8; x++)
for (int  y = 0; y < 8; y++)
{
if ( ((x==lx)&&(y==ly)) || ((x==fx)&&(y==fy)) || ((x==kx)&&(y==ky)) ) continue;
if ((x == lx)||(y == ly)) {sum++; continue;};
if ((ABSI(fx - x) == ABSI(fy - y)) || (x == fx) || (y == fy)) {sum++; continue;};
if ((x+2==kx)&&(y+1==ky) || (x+2==kx)&&(y-1==ky) || (x-2==kx)&&(y+1==ky) || (x-2==kx)&&(y-1==ky) ||
(x+1==kx)&&(y+2==ky) || (x+1==kx)&&(y-2==ky) || (x-1==kx)&&(y-2==ky) || (x-1==kx)&&(y+2==ky)) {sum++; continue;};
}

f = fopen("output.txt", "wt");
fprintf(f, "%d\n", sum);
fclose(f);

return 0;
}
Категория: C++ | Добавил: shum
Просмотров: 2918 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020