Skip to content

Commit d121b35

Browse files
committed
Add solution of 2022-06
1 parent 358ca24 commit d121b35

File tree

4 files changed

+179
-2
lines changed

4 files changed

+179
-2
lines changed

2022/06/input.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
zdrrgvvntvtzzssgcgqqbvqqzmqmrrprjjpmpwpvpqpwppfqqnvvjbjcbbrnnvwnvnqnncvvqnvqvmmdzdrzzjmmfzmztzczzjpjllgzgnzgznzpzhhvppmjjtbjbjgbjjpfphfhthpprbbzzhbzzvjjsttjwtjwjllzplzlhlqlfqfvflfvlvqvqsshccgffvzzqllpjllcqcpqcpqccbgcccvwvlldclcppcggjhhtbhbrbwbllldndhnnmnmcccvfvtftrfttlhttgltlflgflfrrftrtrgrmggbccnvccvssbmsmnsmszmmsbshbhpbhhtccnmngmnnntznttwnnmffdccrhrshhzhszslzlqqqsqhhrrvmrrhrmhrrdppshpssjhhhtzhzpzzzbrrqqhhtltgltgghlhpphmmbllczcgcrgcrcmmdjdvdssdbsshqqrprhrfrqrlldggpglplqlgqqvfqqwhqqclcwwbrbwbzzmcczqqpzpzhpzprrsbsfsgscsvsdsnntssgzsgzzdpdmmvnnnnfgngnqntnqnhqnhnrrdvrdvvhcvhcvvmffmccdndhhpghgwwdpwwsbwwwcpchcmmznnvtvfffzgffmfdmdsdrrsjjblbglgrrnllzrlrnnrzztnnnqlnlhnllnflllvjjdpdnngfnnlzlrzllrnlnznszzhhvggbqqcmqqvhqhhzfznnhthlhfllqwwghwgwnnnrcchffqnqjjmhjmjsjrjjrwjrrhbhfbhffprprhrddscddbbrzrvrcclttppvrvrlrplpffdwffwrwvvmssgjjbttpgpfplffgfwfnnmhhwghhpfptprtrzzwlwnwmwzzbmbrrdjrjzjpzpggftffglgzzdgzgbbzwzrrdzdhdbhhfppvrvrrrshrrzwwhjwwtjjhbhgbbhjhmmcvvchcfczfcffgttzbzssdqqjwjbbhthgthghthghmhlmmjwmwccfftnnddlffntnhtnhhnnldlhlthhqvhqvhhcgclcmmcnnwnqqzgzczccftfzfrrnhnjhhnlljdjhjghhchvchvchcphpnnnznhnjjlmjlmlbmmsbmbnnmqmvmhhcrcvvqffjpjzpjzjnnhsnhsslqlqvqzzmffdtfdffjrfjrjcjzjnjfjdfjfvjvddtntcttcwcqwqlqjqlqrrzccsgsgffwddrldrrhlllgppghphddqttdwtwnwlnlccmwwfnngvnvddwvwttjjsgghcchjjnvnccjljcljcljjjrttdstsmsggdbdbnddqpddbqqpbpdpgdpdnpnbnffcfrfrfhfcfgcfgcffvjvccgscshhvthvthtbhtbbmppjjrjqrjqjmjzjjjvffmbbfppndngnrnsnnmbbcmcddfzdfzdffqssfwsfwwpzpfpmpqpjqjwqqzwqwvvsddvrrdsrszrrrjqrjjqtqftthhmpmhpmhphggjsggjpppmhmzzdllcscpsswsqqjsqsvvlffmwgtmbthswfqqppsdflzhmdbcnzgdrlzccsdtptgmhfhwtbwqdhptvsvgdfdsmvsrtjjthchmbrjpmrwhgrdllphnfhrfdlgqmbrtdwcmcbphrzthflcswnhqmfhwprbgczbmsmjvbwjftgfqhbhqgzsvcpplzgctzggfljbmhsmwcwltllqgqtvhlbnpzpccbsbhpvhttdjvcnbqhlccdcclwfvcqnttlzzhqpltnnzzlnwtgppwfvmjhtmlzbzdrgbpbbmwlczdwmfhsvpnhpcqwzlnzslncdcqblvlpqfzhhszzrssvhglsllbbmjngfjlpjjvjbzbrlrmwfvzbgtzvcrshtsswhjrjvtwwbrqvtqnndndthfgfcnprpwwtffcvmllngsftrnwnjmwfljjtwnqqmphdlctvdpnsmbrhmljzmfvhcpblmwjjgqvslgslpbjzqzgzpwgssljztmztbwbqlfwrwgvwrjzvpvncqpdspgpzsjnvcrtzpnspvmnvssbgmsbpdsmcvjmtczczzsjcqcfhvcmsbsjfsssvzpvrtmmgptpcsrjslgvclflhjdpwtsmrgjjcftjmjrzrpwqlqvrqjpflbgrfhswbpcnvrrwpzqtzmqjspqqpwlcwgwgclpnwhhrrmzvvnjrjgjfqftlwjrggjgsdfvqhghmshczbbcvrmsgfdqhhmpfzqtbqwsmwfnwfwndjtlntzbbhlzlhrlzgljlmlbcwcdzbctlbqjmfpdwfcfnrbztvlwjhgmfvjcclcrwwwwvqshnfthtcccnswnfzlznlfcmcfrrsjqfvrwjvtbrwggzmdglcbzfdflrdqsjhzcjpghdmwhzrshnqqtsrccbhnlqcsclwmnvjpfqjszwrqnvbgmcdsvhntqmmnrdpbtpqwvhztmtjfvdplgzhhgsrnbwggnwzbtzwcsbrftzhvwtrwvcqrbcnqnrcmbmsvlcfbmzfcvqpwsmmfdgssnhghwjlsslmgnrqgpmbhpqzfnvztsjzjqgrzbbdpvtprwdzdszlhpcgwvdfvhtbtpfjnqnpzwplrwnfdpdclwgnrjlzzshhcchswtzrcmrfpgwjvttqfbbsdnctrtnmwqsmnfsgfgplphcrhglcrnrbzvcfrdfhdtsjmnvfwslcntttqzvhhbljzmpmlsrsblhvmvphppdmjfzwfmflcfwwtdfcndqzgsbrcppsngqfnnjtccnmfjqzhdpnnrqvhrmnrwntqrvmlzfrdszhctzjjdwqrrldtqgrztrvdfrpgprqhqrbnmpfzzlprrpqgtqmzshpcdbwgmrqhrvvgwvspqzmsrvprvsclffwhzlvgfgcsjtmnmthwfmdnfccvlbwbcrlsghhpzcvcnffvccsqjtnhhnbwgfjmqczbrfmjtmmbznspmvtcvdllbgrcvtdzpgzcjzqdjpglhbbnbvwztrdhcrcvrpbshwlmdbmpdgzzflglwgfhvngcgpwshfhzsbrmnhrftmcfqdhnmfmdzbzfgggrzchtzrhgtjpqhdglgdhdqzqpmqmtsbbjjgvtrngdvghwdmgnmdlwsvpmldlsjrtwhltfpbmqlngncwspcptphdppdmjfvtnmdrpbwzrdzcqjdnprpcddjqjhpllsrqzdpcpnplmnmwfqjtnfmnwljbsfgwlgjpwdbbqblvsqcvvgmbrhsqjcscsflcfdzbnrflmrpzhzdhzqhgvmtfjpwtfqnclplgwrjtfvrncjlqtqlrrnjsrvpwbrdcppvnjfzdrzhcltpdfgfndvqtqzvvztgzssdsvvvjwrtjmqcchbjmppqzmgwqdvmmdqbcpbmcnjsvjlwmmnvmnlzdsnsjpldgpjgsbqmpcdsvhdfhgpbggqmrdhbhvvpnzdpqtmldmfqdfchzdfgddzgvcdzgcwjlhnzjwhpwlfwhgjthjshqtzbblhflmsfvtwplfpmpndgjmhndqlhcvfhmjmmqgnjstrzqvshzbbsfqwszwccmrcjnmlsplqzwrgrcwqbmrfwljmlqtqztscrhgjdqzhvmhncvssfznpgrbrjvchsgnjjnnqqrqwsqsrgmltvgtjvpztwmsspjtqdwrbftzrbcmdthmztmnqtmmnffqjjzbvwghrsdmbbjsnnhbdcbqsbcdmwqqppcvsndzbfnsgtpptdftrfthdclqrqvmhnddmjzlnfgscfdwjljjgjnddcrzvclfqbdhprttwpmsnzvdgzwmnzznpqhlhhslwgzlczlgvbjbgqdczztzjnswphllncbsqdmbsbqqsltzmmhmhfnngbttvdsmfrpgthwpfdhsstrjssghlrrlhbmgdsvhzvlhhfvtcrrhlndgrjjcgmjwgnjtlmpmzgqgpnpsvlnthgrvsdfcnmzmthqzfpjdqjbhgmjqsqvvdldrgqwlghdlwqdbfmffgvzmptqhnvbrdbqtcjmsdnjljpbrtcvvnffvztbwfnmtvdbnshlbgvbnljntlrldbwqvqmblnvhwtw

2022/06/puzzle_1.cpp

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#pragma warning ( disable : 4786 )
2+
3+
#include <iostream>
4+
#include <sstream>
5+
6+
#include <cstdio>
7+
#include <cstdlib>
8+
#include <cmath>
9+
#include <cctype>
10+
#include <cstring>
11+
12+
#include <string>
13+
#include <algorithm>
14+
#include <vector>
15+
#include <list>
16+
#include <map>
17+
#include <set>
18+
#include <deque>
19+
#include <queue>
20+
#include <stack>
21+
#include <fstream>
22+
23+
using namespace std;
24+
25+
//#define _rep( i, a, b, x ) for( __typeof(b) i = ( a ); i <= ( b ); i += x )
26+
#define _rep(i, a, b, x) for( i = ( a ); i <= ( b ); i += x )
27+
#define rep(i, n) _rep( i, 0, n - 1, 1 )
28+
29+
#define ff first
30+
#define ss second
31+
32+
#define pii pair< int, int >
33+
#define psi pair< string, int >
34+
35+
#define pb(x) push_back(x)
36+
#define mp(x, y) make_pair(x, y)
37+
38+
#define set(p) memset(p, -1, sizeof(p))
39+
#define clr(p) memset(p, 0, sizeof(p))
40+
41+
//typedef long long i64;
42+
//typedef __int64 i64;
43+
typedef long double ld;
44+
45+
//const double pi = (2.0*acos(0.0));
46+
const double pi = acos(-1.0);
47+
const double eps = 1e-9;
48+
const int inf = (1 << 28);
49+
const int MAX = 1005;
50+
51+
int main() {
52+
freopen("/Users/aislam6/workspace/projects/personal/adventofcode/2022/06/input.txt", "r", stdin);
53+
//freopen("out.txt", "w", stdout);
54+
55+
int i, j, k;
56+
int test, t = 0, kase = 0;
57+
int pos = 0, len;
58+
string line;
59+
int count, from = 0, to = from + 4, prev_to;
60+
61+
getline(cin, line);
62+
len = line.length();
63+
map<char, int> mp;
64+
bool done = false;
65+
66+
while(true) {
67+
mp.clear();
68+
prev_to = to;
69+
for(int i=from; i<to; i+=1) {
70+
if(mp.find(line[i]) != mp.end()) {
71+
from = mp[line[i]] + 1;
72+
to = from + 4;
73+
}
74+
else mp[line[i]] = i;
75+
}
76+
77+
if(prev_to == to) break;
78+
if(to > len) {
79+
to = -1;
80+
done = true;
81+
break;
82+
}
83+
}
84+
85+
printf("%d\n", to);
86+
87+
return 0;
88+
}

2022/06/puzzle_2.cpp

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#pragma warning ( disable : 4786 )
2+
3+
#include <iostream>
4+
#include <sstream>
5+
6+
#include <cstdio>
7+
#include <cstdlib>
8+
#include <cmath>
9+
#include <cctype>
10+
#include <cstring>
11+
12+
#include <string>
13+
#include <algorithm>
14+
#include <vector>
15+
#include <list>
16+
#include <map>
17+
#include <set>
18+
#include <deque>
19+
#include <queue>
20+
#include <stack>
21+
#include <fstream>
22+
23+
using namespace std;
24+
25+
//#define _rep( i, a, b, x ) for( __typeof(b) i = ( a ); i <= ( b ); i += x )
26+
#define _rep(i, a, b, x) for( i = ( a ); i <= ( b ); i += x )
27+
#define rep(i, n) _rep( i, 0, n - 1, 1 )
28+
29+
#define ff first
30+
#define ss second
31+
32+
#define pii pair< int, int >
33+
#define psi pair< string, int >
34+
35+
#define pb(x) push_back(x)
36+
#define mp(x, y) make_pair(x, y)
37+
38+
#define set(p) memset(p, -1, sizeof(p))
39+
#define clr(p) memset(p, 0, sizeof(p))
40+
41+
//typedef long long i64;
42+
//typedef __int64 i64;
43+
typedef long double ld;
44+
45+
//const double pi = (2.0*acos(0.0));
46+
const double pi = acos(-1.0);
47+
const double eps = 1e-9;
48+
const int inf = (1 << 28);
49+
const int MAX = 1005;
50+
51+
int main() {
52+
freopen("/Users/aislam6/workspace/projects/personal/adventofcode/2022/06/input.txt", "r", stdin);
53+
//freopen("out.txt", "w", stdout);
54+
55+
int i, j, k;
56+
int test, t = 0, kase = 0;
57+
int pos = 0, len;
58+
string line;
59+
int count, from = 0, to = from + 14, prev_to;
60+
61+
getline(cin, line);
62+
len = line.length();
63+
map<char, int> mp;
64+
bool done = false;
65+
66+
while(true) {
67+
mp.clear();
68+
prev_to = to;
69+
for(int i=from; i<to; i+=1) {
70+
if(mp.find(line[i]) != mp.end()) {
71+
from = mp[line[i]] + 1;
72+
to = from + 14;
73+
}
74+
else mp[line[i]] = i;
75+
}
76+
77+
if(prev_to == to) break;
78+
if(to > len) {
79+
to = -1;
80+
done = true;
81+
break;
82+
}
83+
}
84+
85+
printf("%d\n", to);
86+
87+
return 0;
88+
}

2022/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ directory=build
44

55
all:
66
mkdir -p $(directory)
7+
$(CC) $(CFLAGS) 06/puzzle_1.cpp -o $(directory)/6_puzzle_1
8+
$(CC) $(CFLAGS) 06/puzzle_2.cpp -o $(directory)/6_puzzle_2
79
$(CC) $(CFLAGS) 05/puzzle_1.cpp -o $(directory)/5_puzzle_1
810
$(CC) $(CFLAGS) 05/puzzle_2.cpp -o $(directory)/5_puzzle_2
911
$(CC) $(CFLAGS) 04/puzzle_1.cpp -o $(directory)/4_puzzle_1
@@ -14,5 +16,3 @@ all:
1416
$(CC) $(CFLAGS) 02/puzzle_2.cpp -o $(directory)/2_puzzle_2
1517
$(CC) $(CFLAGS) 01/puzzle_1.cpp -o $(directory)/1_puzzle_1
1618
$(CC) $(CFLAGS) 01/puzzle_2.cpp -o $(directory)/1_puzzle_2
17-
# $(CC) $(CFLAGS) 06/puzzle_1.cpp -o $(directory)/6_puzzle_1
18-
# $(CC) $(CFLAGS) 06/puzzle_2.cpp -o $(directory)/6_puzzle_2

0 commit comments

Comments
 (0)