Task: | Spiraali |
Sender: | EeliH |
Submission time: | 2021-10-04 19:40:41 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | WRONG ANSWER | 0.01 s | 1 | details |
#2 | WRONG ANSWER | 0.01 s | 2 | details |
#3 | WRONG ANSWER | 0.01 s | 3 | details |
Code
#include <cmath> #include <iostream> using namespace std; int get_layer(int x, int y) { return max(abs(x), abs(y)); } int get_offset(int x, int y) { int layer = get_layer(x, y); int offset = 4 * layer * layer - 4 * layer + 1; return offset; } int get_strip_i(int x, int y) { int layer = get_layer(x, y); int width = 2 * layer + 1; int hwidth = layer + 1; if(x == layer) { return (3 * width - 3) + (hwidth - y) - 2; } else if(y == -layer) { return layer - x - 1; } else if(x == -layer) { return (width - 1) + y + 1; } else if(y == layer) { return (2 * width - 2) + x + hwidth - 2; } return 1234; } int main() { int n, t; cin >> n >> t; //cout << get_offset(x, y) + get_strip_i(x, y) << endl; //cout << get_offset(x, y) << endl; //cout << get_strip_i(x, y) << endl; for(int i = 0; i < t; i++) { int x, y; cin >> y >> x; // Koordinaatit alkamaan (0,0) x--; y--; int nx, ny; nx = (int) (n / 2); ny = (int) ((n - 1) / 2); x = x - nx; y = ny - y; int arvo = n * n - (get_offset(x, y) + get_strip_i(x, y)); //cout << "A " << get_strip_i(x, y) << endl; //cout << "B " << get_offset(x, y) << endl; cout << arvo << endl; //cout << x << " " << y << endl; } }
Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
input |
---|
10 100 1 1 1 2 1 3 1 4 ... |
correct output |
---|
1 36 35 34 33 ... |
user output |
---|
4 38 35 34 33 ... Truncated |
Test 2
Group: 2
Verdict: WRONG ANSWER
input |
---|
1000 1000 371 263 915 322 946 880 53 738 ... |
correct output |
---|
773533 312166 206053 200080 593922 ... |
user output |
---|
773769 312166 206053 200080 593922 ... Truncated |
Test 3
Group: 3
Verdict: WRONG ANSWER
input |
---|
1000000000 1000 177757853 827347032 409613589 419171337 739269360 256524697 328695530 896842209 ... |
correct output |
---|
571375684522141210 967321186816598569 762879105851175000 370065046779516790 936897883750373771 ... |
user output |
---|
1698489882 -1947622871 1297535934 152360822 1338087819 ... Truncated |