Task: | Hypyt |
Sender: | TapaniS |
Submission time: | 2025-10-18 20:24:33 +0300 |
Language: | Java |
Status: | READY |
Result: | 30 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 30 |
#2 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.20 s | 1, 2 | details |
#2 | ACCEPTED | 0.25 s | 1, 2 | details |
#3 | ACCEPTED | 0.71 s | 2 | details |
#4 | TIME LIMIT EXCEEDED | -- | 2 | details |
#5 | TIME LIMIT EXCEEDED | -- | 2 | details |
Code
import java.util.*; public class hypyt4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int t = Integer.parseInt(input.nextLine()); int[] n = new int[t]; // korkeus int[] m = new int[t]; //leveys String[] numerot = new String[t]; // numerot for (int i = 0; i < t; i++) { numerot[i] = input.nextLine(); String[] numberParts = numerot[i].split("\\s+"); n[i] = Integer.parseInt(numberParts[0]); m[i] = Integer.parseInt(numberParts[1]); } input.close(); // Program here for (int i = 0; i < t; i++) { // tapaus t int kor = n[i]; int lev = m[i]; if ((kor == 1) && (lev == 1)) { continue; } if ((kor == 1) && (lev == 2)) { System.out.println("0 1"); continue; } if ((kor == 2) && (lev == 1)) { System.out.println("1 0"); continue; } if ((kor == 2) && (lev == 2)) { System.out.println("0 1"); System.out.println("1 0"); System.out.println("0 -1"); continue; } // korkeus & leveys > 2 int kpl = kor * lev; int RiviY[][] = new int[kor + 2][(lev + 2)]; int RiviX[][] = new int[2][(lev + 2)]; // y-arvot if ((lev % 2) == 0) { int val1 = 1; int val2 = kor; for (int i1 = 1; i1 <= kor; i1 += 2) { for (int i2 = 1; i2 <= lev; i2 += 2) { RiviY[i1][i2] = val1; RiviY[i1+1][i2] = val1; } val1++; } for (int i1 = 1; i1 <= kor; i1 += 2) { for (int i2 = 2; i2 <= lev; i2 += 2) { RiviY[i1][i2] = val2; RiviY[i1+1][i2] = val2; } val2--; } } // lev parillinen if ((lev % 2) == 1) { int val1 = 1; int val2 = kor; for (int i1 = 1; i1 <= kor; i1 += 2) { for (int i2 = 1; i2 <= lev; i2 += 2) { RiviY[i1][i2] = val1; RiviY[i1+1][i2] = val2; } val1++; val2--; } val1 = 1; val2 = kor; for (int i1 = 1; i1 <= kor; i1 += 2) { for (int i2 = 2; i2 <= lev; i2 += 2) { RiviY[i1][i2] = val2; RiviY[i1+1][i2] = val1; } val1++; val2--; } } // lev pariton end if ((kor % 2) == 1) { for (int i2 = 1; i2 <= lev; i2++) { RiviY[kor][i2] = (kor+1)/2; } } // kor pariton y arvot kaikki ok // x-arvot alla int val1 = 1; int val2 = lev; for (int i2 = 1; i2 <= lev; i2 += 2) { RiviX[1][i2] = val1; val1++; RiviX[1][i2+1] = val2; val2--; } val1 = 1; val2 = lev; for (int i2 = lev; i2 > 0; i2 -= 2) { RiviX[0][i2] = val1; val1++; RiviX[0][i2-1] = val2; val2--; } // x-arvot ok // tulostus int dy = 0; int dx = 0; int indX = 1; int lastY = RiviY[1][1]; int lastX = RiviX[1][1]; int y2 = 0; int x2 = 0; for (int i5 = 2; i5 < (lev+1); i5++) { y2 = RiviY[1][i5]; x2 = RiviX[1][i5]; dy = y2- lastY; dx = x2- lastX; lastY = y2; lastX = x2; System.out.println(dy + " " + dx); } for (int i4 = 2; i4 < (kor+1); i4++) { for (int i5 = 1; i5 < (lev+1); i5++) { indX = i4 % 2; y2 = RiviY[i4][i5]; x2 = RiviX[indX][i5]; dy = y2 - lastY; dx = x2 - lastX; lastY = y2; lastX = x2; System.out.println(dy + " " + dx); } } } // tapaus t } }
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
input |
---|
25 1 1 1 2 1 3 1 4 ... |
correct output |
---|
0 1 0 2 0 -1 0 3 0 -2 ... |
user output |
---|
0 1 0 2 0 -1 0 3 0 -2 ... |
Test 2
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 5 5 5 5 5 5 5 5 ... |
correct output |
---|
4 4 -4 -3 4 2 -4 -1 4 0 ... |
user output |
---|
4 4 -4 -3 4 2 -4 -1 4 0 ... |
Test 3
Group: 2
Verdict: ACCEPTED
input |
---|
100 1 25 20 40 5 34 50 34 ... |
correct output |
---|
0 24 0 -23 0 22 0 -21 0 20 ... |
user output |
---|
0 24 0 -23 0 22 0 -21 0 20 ... |
Test 4
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 46 47 41 39 46 36 46 30 ... |
correct output |
---|
45 46 -45 -45 45 44 -45 -43 45 42 ... |
user output |
---|
(empty) |
Test 5
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 50 50 50 50 50 50 50 50 ... |
correct output |
---|
49 49 -49 -48 49 47 -49 -46 49 45 ... |
user output |
---|
(empty) |