Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package saari24;
- public class Saari24 {
- public static long siirry(long ai, long aj, long aa, long li, long lj) {
- long askeleita = 0;
- boolean inverttaaTulos = false;
- if (ai == 1 && aj == 1) {
- ai++;
- }
- aj++;
- askeleita += 2;
- if (Math.max(ai, aj) > Math.max(li, lj)) {
- long tmp1 = ai;
- long tmp2 = aj;
- ai = li;
- aj = lj;
- li = tmp1;
- lj = tmp2;
- inverttaaTulos = true;
- }
- while (true) {
- if (aj > ai) {
- if (aj % 2 == 1) {
- askeleita += aj - ai + aj - 1;
- ai += aj - ai;
- aj = 1;
- } else {
- askeleita += ai - 1;
- ai = 1;
- }
- } else if (aj < ai) {
- if (ai % 2 == 1) {
- askeleita += aj - 1;
- aj = 1;
- } else {
- askeleita += ai - aj + ai - 1;
- aj += ai - aj;
- ai = 1;
- }
- } else {
- askeleita += ai;
- if (ai % 2 == 1) {
- aj = 1;
- } else {
- ai = 1;
- }
- }
- if (ai == 1) {
- aj++;
- askeleita++;
- } else {
- ai++;
- askeleita++;
- }
- if (Math.max(ai, aj) == (Math.max(li, lj))) {
- if (ai > aj) {
- boolean lippu = false;
- while (true) {
- if (ai == li && aj == lj) {
- if (inverttaaTulos) {
- return aa - askeleita;
- } else {
- return aa + askeleita - 1;
- }
- }
- if (ai == aj) {
- lippu = true;
- }
- if (!lippu) {
- aj++;
- askeleita++;
- } else {
- ai--;
- askeleita++;
- }
- }
- } else {
- boolean lippu = false;
- while (true) {
- if (ai == li && aj == lj) {
- if (inverttaaTulos) {
- return aa - askeleita;
- } else {
- return aa + askeleita - 1;
- }
- }
- if (ai == aj) {
- lippu = true;
- }
- if (!lippu) {
- ai++;
- askeleita++;
- } else {
- aj--;
- askeleita++;
- }
- }
- }
- }
- if (aj + 1 == lj && ai + 1 == li) {
- break;
- }
- }
- if (inverttaaTulos) {
- return aa - askeleita;
- } else {
- return aa + askeleita - 1;
- }
- }
- public static void main(String[] args) {
- System.out.println("Tulos: " + siirry(1, 1, 1, 123456789, 987654321));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement