Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <Windows.h>
- #include <algorithm>
- using namespace std;
- int main()
- {
- HANDLE col = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleTextAttribute(col, FOREGROUND_GREEN + FOREGROUND_BLUE + FOREGROUND_INTENSITY);
- setlocale (LC_ALL, "Russian");
- int N, i, j, HOD=0;
- cout << "Размер поля(NxN): ";
- cin >> N;
- cout << "Поле: " << N << "x" << N;
- int DESK[N][N],
- g[8]={1, 2, 2, 1, -1, -2, -2, -1},
- v[8]={2, 1, -1, -2, -2, -1, 1, 2},
- sum[8]={0, 0, 0, 0, 0, 0, 0, 0};
- for(i=0; i<N; i++)
- for(j=0; j<N; j++)
- DESK[i][j]=0;
- cout << endl << "Установите коня(i;j): ";
- cin >> i >> j;
- if(((i>=0) && (i<N)) && ((j>=0) && (j<N)))
- DESK[i][j]=1;
- else
- {
- cout << "Ошыбка!";
- getch ();
- return 0;
- }
- //================================================================================;
- for(int o=0; o<8; o++)
- {
- i=i+g[o];
- j=j+v[o];
- if(((i>=0) && (i<N)) && ((j>=0) && (j<N)))
- {
- DESK[i][j]=1;
- for(int y=0; y<8; y++)
- {
- i=i+g[y];
- j=j+v[y];
- if(((i>=0) && (i<N)) && ((j>=0) && (j<N)) && DESK[i][j]!=1)
- sum[o]++;
- i=i-g[y];
- j=j-v[y];
- }
- }
- DESK[i][j]=0;
- i=i-g[o];
- j=j-v[o];
- cout << endl << sum[o];
- }
- int Q = sizeof(sum) / sizeof(sum[0]);
- int mx = *max_element(sum, sum + Q);
- for(int p=0; p<8; p++)
- {
- if(mx==sum[p])
- {
- i=i+g[p];
- j=j+v[p];
- DESK[i][j]=1;
- HOD++;
- cout << endl << "|" << i << ";" << j <<"|" << endl;
- break;
- }
- }
- //=================================================
- for(i=0; i<N; i++)
- {
- for(j=0; j<N; j++)
- {
- cout << "\t" << DESK[i][j];
- }
- cout << "\n";
- }
- cout << endl << "Максимально можно сделать " << HOD << " ходов";
- getch ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement