#include "Anna.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
void enc(vector<int>P) {
vector<ll>ile(51);
ile[0]=1;
ile[1]=2;
for(ll i=2; i<=50; ++i) ile[i]=ile[i-1]+ile[i-2];
for(int i=0; i<P.size(); i+=50) {
ll x=0;
rep(j, 50) if(P[i+j]) x+=ile[50-j-1];
rep(j, 35) if(x&(1ll<<(ll)j)) Send(1); else Send(0);
}
}
void Anna(int n, vector<char>T) {
vector<int>P(n);
bool ok=false;
rep(i, n) if(T[i]=='X') {
ok=true;
P[i]=1;
for(int j=i+1; j<n; ++j) {
if(T[j]=='Z') P[j]=1;
}
for(int j=n-1; j; --j) if(P[j-1] && P[j]) P[j-1]=0;
for(int j=n-1; j>i+1; --j) P[j]=P[j-1];
P[i]=1;
P[i+1]=0;
break;
}
while(P.size()%50!=0) P.pb(0);
enc(P);
}
#include "Bruno.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
vector<int>dec(vector<int>P, int n) {
vector<int>T;
vector<ll>ile(51);
ile[0]=1;
ile[1]=2;
for(ll i=2; i<=50; ++i) ile[i]=ile[i-1]+ile[i-2];
for(int i=0; i<P.size(); i+=35) {
ll x=0;
rep(j, 35) if(P[i+j]) x|=1ll<<(ll)j;
rep(j, 50) {
if(x>=ile[50-j-1]) {
x-=ile[50-j-1];
T.pb(1);
if(j+1<50) T.pb(0);
++j;
} else T.pb(0);
}
}
rep(i, T.size()) if(T[i]==1) {
for(int j=i+2; j<n; ++j) T[j-1]=T[j];
T[n-1]=1;
break;
}
return T;
}
void Bruno(int n, int m, vector<int>P) {
vector<int>T=dec(P, n);
int x=-1;
rep(i, n) {
if(T[i]) {
x=i;
break;
} else Remove(i);
}
if(x==-1) return;
int lst=x;
for(int i=x+1; i<n; ++i) if(T[i]) {
for(int j=i-1; j>lst; --j) Remove(j);
Remove(i);
lst=i;
}
Remove(x);
for(int i=lst+1; i<n; ++i) Remove(i);
}
Compilation message
Anna.cpp: In function 'void enc(std::vector<int>)':
Anna.cpp:15:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
15 | for(int i=0; i<P.size(); i+=50) {
| ~^~~~~~~~~
Anna.cpp: In function 'void Anna(int, std::vector<char>)':
Anna.cpp:23:8: warning: variable 'ok' set but not used [-Wunused-but-set-variable]
23 | bool ok=false;
| ^~
Bruno.cpp: In function 'std::vector<int> dec(std::vector<int>, int)':
Bruno.cpp:16:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
16 | for(int i=0; i<P.size(); i+=35) {
| ~^~~~~~~~~
Bruno.cpp:5:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
5 | #define rep(a, b) for(int a = 0; a < (b); ++a)
| ^
Bruno.cpp:28:3: note: in expansion of macro 'rep'
28 | rep(i, T.size()) if(T[i]==1) {
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1300 KB |
Output is correct |
2 |
Correct |
0 ms |
796 KB |
Output is correct |
3 |
Correct |
0 ms |
784 KB |
Output is correct |
4 |
Correct |
0 ms |
784 KB |
Output is correct |
5 |
Correct |
0 ms |
796 KB |
Output is correct |
6 |
Correct |
0 ms |
780 KB |
Output is correct |
7 |
Correct |
0 ms |
784 KB |
Output is correct |
8 |
Correct |
0 ms |
796 KB |
Output is correct |
9 |
Correct |
0 ms |
784 KB |
Output is correct |
10 |
Correct |
0 ms |
796 KB |
Output is correct |
11 |
Correct |
1 ms |
884 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
31 ms |
9136 KB |
Output is correct |
2 |
Correct |
31 ms |
9016 KB |
Output is correct |
3 |
Correct |
30 ms |
9040 KB |
Output is correct |
4 |
Correct |
28 ms |
9032 KB |
Output is correct |
5 |
Correct |
32 ms |
9032 KB |
Output is correct |
6 |
Correct |
33 ms |
8952 KB |
Output is correct |
7 |
Correct |
33 ms |
9012 KB |
Output is correct |
8 |
Correct |
33 ms |
8824 KB |
Output is correct |
9 |
Correct |
33 ms |
9024 KB |
Output is correct |
10 |
Correct |
34 ms |
8908 KB |
Output is correct |
11 |
Correct |
33 ms |
9036 KB |
Output is correct |
12 |
Correct |
33 ms |
8960 KB |
Output is correct |
13 |
Correct |
37 ms |
8952 KB |
Output is correct |
14 |
Correct |
41 ms |
9024 KB |
Output is correct |
15 |
Correct |
41 ms |
8932 KB |
Output is correct |
16 |
Correct |
32 ms |
9012 KB |
Output is correct |
17 |
Correct |
38 ms |
9100 KB |
Output is correct |
18 |
Correct |
38 ms |
9028 KB |
Output is correct |
19 |
Correct |
38 ms |
8984 KB |
Output is correct |
20 |
Correct |
38 ms |
9024 KB |
Output is correct |
21 |
Correct |
33 ms |
9072 KB |
Output is correct |
22 |
Correct |
41 ms |
9044 KB |
Output is correct |
23 |
Correct |
33 ms |
8948 KB |
Output is correct |
24 |
Correct |
34 ms |
9024 KB |
Output is correct |
25 |
Correct |
40 ms |
8972 KB |
Output is correct |
26 |
Correct |
40 ms |
8984 KB |
Output is correct |
27 |
Correct |
39 ms |
8756 KB |
Output is correct |
28 |
Correct |
40 ms |
8860 KB |
Output is correct |
29 |
Correct |
41 ms |
8932 KB |
Output is correct |
30 |
Correct |
37 ms |
8928 KB |
Output is correct |
31 |
Correct |
38 ms |
9072 KB |
Output is correct |
32 |
Correct |
34 ms |
8968 KB |
Output is correct |
33 |
Correct |
32 ms |
9044 KB |
Output is correct |