Skip to content

Commit 892c4c0

Browse files
committed
Solve problem 863C. from codeforces
1 parent f9dd80f commit 892c4c0

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

CodeForces/863C. 1-2-3.cpp

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long long ll;
6+
7+
int const N = 4;
8+
long long k, a, b, aa[N][N], bb[N][N], ra, rb, tmpa, tmpb, loops, c1, c2;
9+
bool vis1[N][N], vis2[N][N];
10+
vector<int> all;
11+
12+
int main() {
13+
scanf("%lld %lld %lld", &k, &a, &b);
14+
for(int i = 1; i < N; ++i)
15+
for(int j = 1; j < N; ++j)
16+
scanf("%lld", &aa[i][j]);
17+
for(int i = 1; i < N; ++i)
18+
for(int j = 1; j < N; ++j)
19+
scanf("%lld", &bb[i][j]);
20+
21+
while(k > 0 && !vis1[a][b]) {
22+
if(a != b) {
23+
if((a == 3 && b == 2) || (a == 2 && b == 1) || (a == 1 && b == 3))
24+
++ra;
25+
else
26+
++rb;
27+
}
28+
29+
vis1[a][b] = true;
30+
31+
tmpa = aa[a][b];
32+
tmpb = bb[a][b];
33+
34+
a = tmpa;
35+
b = tmpb;
36+
37+
--k;
38+
}
39+
40+
if(k > 0) {
41+
while(!vis2[a][b]) {
42+
if(a == b)
43+
all.push_back(0);
44+
else if((a == 3 && b == 2) || (a == 2 && b == 1) || (a == 1 && b == 3))
45+
all.push_back(1);
46+
else
47+
all.push_back(2);
48+
49+
vis2[a][b] = true;
50+
51+
tmpa = aa[a][b];
52+
tmpb = bb[a][b];
53+
54+
a = tmpa;
55+
b = tmpb;
56+
}
57+
58+
loops = k / all.size();
59+
k -= all.size() * loops;
60+
for(int i = 0; i < (int)all.size(); ++i)
61+
c1 += all[i] == 1,
62+
c2 += all[i] == 2;
63+
64+
ra += (c1 * loops);
65+
rb += (c2 * loops);
66+
67+
for(int i = 0; i < k; ++i)
68+
ra += all[i] == 1,
69+
rb += all[i] == 2;
70+
}
71+
72+
printf("%lld %lld\n", ra, rb);
73+
74+
return 0;
75+
}
76+

CodeForces/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,3 +277,4 @@
277277
- [862A. Mahmoud and Ehab and the MEX](http://codeforces.com/contest/862/problem/A)
278278
- [862B. Mahmoud and Ehab and the bipartiteness](http://codeforces.com/contest/862/problem/B)
279279
- [863A. Quasi-palindrome](http://codeforces.com/contest/863/problem/A)
280+
- [863C. 1-2-3](http://codeforces.com/contest/863/problem/C)

0 commit comments

Comments
 (0)