-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdiff_Main.cpp
More file actions
76 lines (70 loc) · 2.3 KB
/
Copy pathdiff_Main.cpp
File metadata and controls
76 lines (70 loc) · 2.3 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
diff --git a/CodeJam/Main.cpp b/examples/2019/Round1C/B_interactive/Main.cpp
index 2150379..18a980b 100644
--- a/CodeJam/Main.cpp
+++ b/examples/2019/Round1C/B_interactive/Main.cpp
@@ -1,11 +1,11 @@
// #define DEFAULT_VAL_MODE //remove comment on this line, to activate default value trigger
#define DEFAULT_VAL_TRIGGER result.sz == 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 IA_MODE //remove comment on this line, to activate interactive problem mode
+#define IA_ERROR_CODE "N"
+// #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 COMM_TYPE ll
+#define COMM_TYPE str
// The maintained and empty code template can be found at:
// https://github.com/demmerichs/CodeJamTemplate
@@ -1566,8 +1566,10 @@ using namespace std;
namespace task {
+ll F;
+
void init(){
- cin >> T;
+ cin >> T >> F;
}
void readInput(){
@@ -1575,6 +1577,43 @@ void readInput(){
// write to COMM_TYPE result
void calcFunction() {
+ result = "";
+ s(char) lets;
+ forn(i, 5) lets.insert("ABCDE"[i]);
+ v(str) explored(119, "Y");
+ forn(i, 5){
+ d(char, ll) counts;
+ foreach(let, lets) counts[let] = 0;
+ forn(k, 119){
+ if(explored[k][i] == 'X'){
+ explored[k] += 'X';
+ continue;
+ }
+ out(1+i+k*5);
+ explored[k] += in();
+ counts[explored[k][i+1]]++;
+ }
+ lg(counts);
+ char minchar = counts.bn->st;
+ ll mincount = counts[minchar];
+ foreach(let, lets){
+ if(counts[let] < mincount){
+ minchar = let;
+ mincount = counts[minchar];
+ break;
+ }
+ }
+ result += minchar;
+ lets.erase(minchar);
+ forn(k, 119){
+ if(explored[k][i+1] != minchar){
+ explored[k][i+1] = 'X';
+ }
+ }
+ }
+ lg(result);
+ out(result);
+ in();
}
} // namespace task