-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path10528.cpp
More file actions
114 lines (96 loc) · 2.67 KB
/
Copy path10528.cpp
File metadata and controls
114 lines (96 loc) · 2.67 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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// : C, C#, D, D#, E, F, F#, G, G#, A, A#, B
ll li[8] = {0,2,2,1,2,2,2,1};
string arr[12] = {"C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"};
set<string> C, Cm, D, Dm, E, F, Fm, G, Gm, A, Am, B;
ll itr = 0;
for(auto x: li){
itr += x;
C.insert(arr[itr%12]);
}
itr = 1;
for(auto x: li){
itr += x;
Cm.insert(arr[itr%12]);
}
itr = 2;
for(auto x: li){
itr += x;
D.insert(arr[itr%12]);
}
itr = 3;
for(auto x: li){
itr += x;
Dm.insert(arr[itr%12]);
}
itr = 4;
for(auto x: li){
itr += x;
E.insert(arr[itr%12]);
}
itr = 5;
for(auto x: li){
itr += x;
F.insert(arr[itr%12]);
}
itr = 6;
for(auto x: li){
itr += x;
Fm.insert(arr[itr%12]);
}
itr = 7;
for(auto x: li){
itr += x;
G.insert(arr[itr%12]);
}
itr = 8;
for(auto x: li){
itr += x;
Gm.insert(arr[itr%12]);
}
itr = 9;
for(auto x: li){
itr += x;
A.insert(arr[itr%12]);
}
itr = 10;
for(auto x: li){
itr += x;
Am.insert(arr[itr%12]);
}
itr = 11;
for(auto x: li){
itr += x;
B.insert(arr[itr%12]);
}
string str;
while(getline(cin, str) && str != "END"){
istringstream ss(str);
set<string> hi;
string temp;
while(ss >> temp){
hi.insert(temp);
}
if(includes(C.begin(), C.end(), hi.begin(), hi.end())) cout << "C ";
if(includes(Cm.begin(), Cm.end(), hi.begin(), hi.end())) cout << "C# ";
if(includes(D.begin(), D.end(), hi.begin(), hi.end())) cout << "D ";
if(includes(Dm.begin(), Dm.end(), hi.begin(), hi.end())) cout << "D# ";
if(includes(E.begin(), E.end(), hi.begin(), hi.end())) cout << "E ";
if(includes(F.begin(), F.end(), hi.begin(), hi.end())) cout << "F ";
if(includes(Fm.begin(), Fm.end(), hi.begin(), hi.end())) cout << "F# ";
if(includes(G.begin(), G.end(), hi.begin(), hi.end())) cout << "G ";
if(includes(Gm.begin(), Gm.end(), hi.begin(), hi.end())) cout << "G# ";
if(includes(A.begin(), A.end(), hi.begin(), hi.end())) cout << "A ";
if(includes(Am.begin(), Am.end(), hi.begin(), hi.end())) cout << "A# ";
if(includes(B.begin(), B.end(), hi.begin(), hi.end())) cout << "B ";
cout << "\n";
}
return 0;
}