#include <bits/stdc++.h>
using namespace std;
#define ll long long
string tobase(int a, int base) {
string str = "";
while(a > 0) {
cout << a << " " << str << endl;
char ch = a%base;
str+= ch+'0';
a/=base;
}
reverse(str.begin(),str.end());
return str;
}
int encode(int n, int x, int y) {
string sx = tobase(x,3);
string sy = tobase(y,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
while(sy.length() < 6) {
sy = '0'+sy;
}
for(int i = 0; i < 6; i++) {
if(sx.at(i) != sy.at(i)) {
return (3*i)+sx.at(i)-'0'+1;
}
}
return 0;
}
bool decode(int n, int q, int h) {
h--;
string sx = tobase(q,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
if(sx.at(h/3)-'0' ==h%3) {
return false;
} else {
return true;
}
}
/*
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int ty;
cin >> ty;
int T,n;
cin >> T >> n;
if(ty == 1) {
while(T--) {
int x,y;
cin >> x >> y;
string sx = tobase(x,3);
string sy = tobase(y,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
while(sy.length() < 6) {
sy = '0'+sy;
}
for(int i = 0; i < 6; i++) {
if(sx.at(i) != sy.at(i)) {
cout << (3*i)+sx.at(i)-'0' << "\n";
break;
}
}
}
} else {
while(T--) {
int q,h;
cin >> q >> h;
}
}
return 0;
}*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
string tobase(int a, int base) {
string str = "";
while(a > 0) {
cout << a << " " << str << endl;
char ch = a%base;
str+= ch+'0';
a/=base;
}
reverse(str.begin(),str.end());
return str;
}
int encode(int n, int x, int y) {
string sx = tobase(x,3);
string sy = tobase(y,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
while(sy.length() < 6) {
sy = '0'+sy;
}
for(int i = 0; i < 6; i++) {
if(sx.at(i) != sy.at(i)) {
return (3*i)+sx.at(i)-'0'+1;
}
}
return 0;
}
bool decode(int n, int q, int h) {
h--;
string sx = tobase(q,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
if(sx.at(h/3)-'0' ==h%3) {
return true;
} else {
return false;
}
}
/*
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int ty;
cin >> ty;
int T,n;
cin >> T >> n;
if(ty == 1) {
while(T--) {
int x,y;
cin >> x >> y;
string sx = tobase(x,3);
string sy = tobase(y,3);
while(sx.length() < 6) {
sx = '0'+sx;
}
while(sy.length() < 6) {
sy = '0'+sy;
}
for(int i = 0; i < 6; i++) {
if(sx.at(i) != sy.at(i)) {
cout << (3*i)+sx.at(i)-'0' << "\n";
break;
}
}
}
} else {
while(T--) {
int q,h;
cin >> q >> h;
}
}
return 0;
}*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
24 ms |
832 KB |
잘못된 접근입니다. |
2 |
Incorrect |
26 ms |
1172 KB |
잘못된 접근입니다. |