arrow_forward همه ارسال‌ها

جزئیات ارسال کد#590

verified
وضعیت داوری نهایی: پاسخ نادرست تست 2
terminal
زبان برنامه‌نویسی: C++
schedule
ارسال‌کننده و زمان:
shana (۲ سال پیش)
descriptionsolution.cpp ۱۹۲ خط • ۳٫۱ کیلوبایت
1#include <iostream>
2using namespace std;
3int main()
4{
5 int n , p; cin >> n >> p;
6 int x , y; cin >> x >> y;
7 string lulu; cin >> lulu;
8
9 if ( lulu == "N" )
10 {
11 x += p;
12
13 if ( x >= n )
14 {
15 x = x - n;
16 }
17 }
18
19 else if ( lulu == "S" )
20 {
21 x = x - p;
22
23 if ( x < 0 )
24 {
25 x = abs(x);
26 }
27 }
28
29 else if ( lulu == "W" )
30 {
31 y += p;
32
33 if ( y >= n )
34 {
35 y = y - n;
36 }
37 }
38
39 else if ( lulu == "E" )
40 {
41 y = y - p;
42
43 if ( y < 0 )
44 {
45 y = abs(y);
46 }
47 }
48
49 else if ( lulu == "NE" )
50 {
51 if ( p % 2 == 0 )
52 {
53 x = x + p/2;
54 y = y - p/2;
55
56 if ( x >= n )
57 {
58 x = x - n;
59 }
60
61 if ( y < 0 )
62 {
63 y = abs(y);
64 }
65 }
66
67 else
68 {
69 x = x + p/2 + 1;
70 y = y - p/2;
71
72 if ( x >= n )
73 {
74 x = x - n;
75 }
76
77 if ( y < 0 )
78 {
79 y = abs(y);
80 }
81 }
82 }
83
84 else if ( lulu == "NW" )
85 {
86 if ( p % 2 == 0 )
87 {
88 x = x + p/2;
89 y = y + p/2;
90
91 if ( x >= n )
92 {
93 x = x - n;
94 }
95
96 if ( y >= n )
97 {
98 y = y - n;
99 }
100 }
101
102 else
103 {
104 x = x + p/2 + 1;
105 y = y + p/2;
106
107 if ( x >= n )
108 {
109 x = x - n;
110 }
111
112 if ( y >= n )
113 {
114 y = y = n;
115 }
116 }
117 }
118
119 else if ( lulu == "SE" )
120 {
121 if ( p % 2 == 0 )
122 {
123 x = x - p/2;
124 y = y - p/2;
125
126 if ( x < 0 )
127 {
128 x = abs(x);
129 }
130
131 if ( y < 0 )
132 {
133 y = abs(y);
134 }
135 }
136
137 else
138 {
139 x = x - p/2 - 1;
140 y = y - p/2;
141
142 if ( x < 0 )
143 {
144 x = abs(x);
145 }
146
147 if ( y < 0 )
148 {
149 y = abs(y);
150 }
151 }
152 }
153
154 else if ( lulu == "SW" )
155 {
156 if ( p % 2 == 0 )
157 {
158 x = x - p/2;
159 y = y + p/2;
160
161 if ( x < 0 )
162 {
163 x = abs(x);
164 }
165
166 if ( y >= n )
167 {
168 y = y - n;
169 }
170 }
171
172 else
173 {
174 x = x - p/2 - 1;
175 y = y + p/2;
176
177 if ( x < 0 )
178 {
179 x = abs(x);
180 }
181
182 if ( y >= n )
183 {
184 y = y - n;
185 }
186 }
187 }
188
189 cout << x << " " << y;
190
191 return 0;
192}
کد ارسال‌شده برای داوری خودکار هاتکدز UTF-8