Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int liczenie_odleglosci_plus(int x, int y, int dx, int dy)
- {
- return abs(dx - x) + abs(dy - y);
- }
- int liczenie_odleglosci_iksplus(int x, int y, int dx, int dy)
- {
- return max(abs(dx - x),abs(dy - y));
- }
- int main()
- {
- int ile;
- cin >> ile;
- for (int k = 0; k < ile; k++)
- {
- int wymiar;
- cin >> wymiar;
- int rozmiar;
- cin >> rozmiar;
- int utozsamianie;
- cin >> utozsamianie;
- int typ_krola;
- cin >> typ_krola;
- int suma;
- suma = 0;
- int centralny = (rozmiar + 1) / 2;
- if (wymiar == 2)
- {
- if (typ_krola == 0)
- {
- switch (utozsamianie)
- {
- case 0:
- for (int i = 0; i < rozmiar; i++)
- {
- for (int j = 0; j < rozmiar; j++)
- {
- for (int di = 0; di < rozmiar; di++)
- {
- for (int dj = 0; dj < rozmiar; dj++)
- {
- suma += liczenie_odleglosci_plus(i, j, di, dj);
- }
- }
- cout << suma << endl;
- }
- }
- break;
- case 1:
- for (int j = 0; j < rozmiar; j++)
- {
- for (int di = 0; di < rozmiar; di++)
- {
- for (int dj = 0; dj < rozmiar; dj++)
- {
- suma += liczenie_odleglosci_plus(centralny, j, di, dj);
- }
- }
- }
- break;
- case 2:
- for (int di = 0; di < rozmiar; di++)
- {
- for (int dj = 0; dj < rozmiar; dj++)
- {
- suma += liczenie_odleglosci_plus(centralny, centralny, di, dj);
- }
- }
- break;
- }
- cout << suma / (rozmiar*rozmiar*(rozmiar*rozmiar - 1)) << endl;
- }
- }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement