-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGenius's Gambit.cpp
More file actions
107 lines (89 loc) · 2.28 KB
/
Genius's Gambit.cpp
File metadata and controls
107 lines (89 loc) · 2.28 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
// Problem link : https://codeforces.com/contest/1492/problem/D
#include<bits/stdc++.h>
using namespace std;
#define loi long long
#define lod long double
#define doubel double
#define pb push_back
#define run ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define mod 1000000007
#define lim 5000000000000000000
#define in(ar, n) for(loi i = 0; i < n; i++) cin >> ar[i];
#define out(ar, n) for (loi i = 0; i < n; i++) cout << ar[i] << " "; cout << "\n";
#define rep(i, n) for(loi i = 0; i < n; i++)
#define rep1(i, n) for(loi i = 1; i <= n; i++)
#define rev(i, n) for(loi i = n - 1; ~i; i--)
#define rep3(i, l, r) for(loi i = l; i <= r; i++)
#define rev3(i, r, l) for(loi i = r; i >= l; i--)
#define rep4(i, r, l) for(loi i = r; i >= l; i--)
#define all(x) x.begin(), x.end ()
#define mkp make_pair
#define vii vector<loi>
#define mii map<loi, loi>
#define sii set<loi>
#define pii pair<loi, loi>
#define mxdepth 23 // FOR LCA til N = 1e6
#define mxn 2000001
int main()
{
loi t = 1;
// cin >> t;
while(t--)
{
loi a, b, k, prev, temp, cap;
cin >> a >> b >> k;
prev = a + b - 2;
cap = prev;
prev++;
temp = a;
if(b == 1 or !a)
{
if(k == 0)
{
cout << "Yes\n";
rep(i, b) cout << "1";
rep(i, a) cout << "0";
cout << "\n";
rep(i, b) cout << "1";
rep(i, a) cout << "0";
cout << "\n";
}
else cout << "No\n";
continue;
}
if(a + b - 2 < k) {cout << "No\n";
continue;}
cout << "YES\n";
string x = "", y = "";
rep(i, b) x += "1";
rep(i, a) x += "0";
if(!k)
{
cout << x << "\n";
cout << x << "\n";
continue;
}
b--;
y += "1";
a--;
y += "0";
rep3(i, 2, x.size() - 2) y += x[i];
y += "1";
// cout << "currently y : " << y << "\n";
// cap++;
while(cap != k)
{
cap--;
swap(y[prev], y[prev - 1]);
swap(x[prev], x[prev - 1]);
prev--;
// cout << "now :\n";
// cout << "cap : " << cap << " prev : " << prev << "\n";
// cout << x << "\n";
// cout << y << "\n";
}
cout << x << "\n";
cout << y << "\n";
}
return 0;
}