-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdiff_Main.cpp
More file actions
49 lines (45 loc) · 1.49 KB
/
Copy pathdiff_Main.cpp
File metadata and controls
49 lines (45 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
diff --git a/CodeJam/Main.cpp b/examples/2020/Round1C/A/Main.cpp
index 2150379..767c2bf 100644
--- a/CodeJam/Main.cpp
+++ b/examples/2020/Round1C/A/Main.cpp
@@ -1,10 +1,10 @@
-// #define DEFAULT_VAL_MODE //remove comment on this line, to activate default value trigger
-#define DEFAULT_VAL_TRIGGER result.sz == 0
+#define DEFAULT_VAL_MODE //remove comment on this line, to activate default value trigger
+#define DEFAULT_VAL_TRIGGER result < 0
#define DEFAULT_VAL "IMPOSSIBLE"
// #define IA_MODE //remove comment on this line, to activate interactive problem mode
#define IA_ERROR_CODE -1
#define IA_COMM_LOG //add comment on this line, to deactivate the interactive communication error log
-// #define XY_NOTATION //remove commment on this line, to activate xy notation on complex numbers
+#define XY_NOTATION //remove commment on this line, to activate xy notation on complex numbers
#define COMM_TYPE ll
// The maintained and empty code template can be found at:
@@ -1570,11 +1570,30 @@ void init(){
cin >> T;
}
+cell cur;
+str path;
+
void readInput(){
+ ll a, b;
+ cin >> a >> b;
+ cur = cell(a,b);
+ cin >> path;
}
// write to COMM_TYPE result
void calcFunction() {
+ if(cur.x == 0 && cur.y == 0){
+ result = 0;
+ return;
+ }
+ forn(i, path.sz){
+ cur += DIRECTIONS[DIR_IDX[path[i]]];
+ if(abs(cur.x)+abs(cur.y)<=i+1){
+ result = i+1;
+ return;
+ }
+ }
+ result = -1;
}
} // namespace task