| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 189100 | TadijaSebez | 질문 (CEOI14_question_grader) | C++11 | 1593 ms | 106224 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//#include <assert.h>
int encode (int n, int x, int y) {
for(int i=0;i<10;i++)
{
if((x>>i&1) && !(y>>i&1)) return i+1;
}
int sum=0;
for(int i=0;i<10;i++) sum+=x>>i&1;
return 10+sum;
return -1;
/*for(int step=1;step<=10;step++)
{
int a=0,b=0;
for(int i=0;i<10;i+=step)
{
a^=x>>i&1;
b^=y>>i&1;
}
if(a!=b) return (step-1)*2+a+1;
}
assert(0);
return -1;*/
}
int decode (int n, int q, int h) {
h--;
if(h<10)
{
if(q>>h&1) return 1;
else return 0;
}
else
{
h-=9;
int sum=0;
for(int i=0;i<10;i++) sum+=q>>i&1;
if(sum==h) return 1;
else return 0;
}
/*int step=h/2+1,a=0;
for(int i=0;i<10;i+=step) a^=q>>i&1;
if(a==h%2) return 1;
else return 0;*/
}
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
