# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
100088 | oolimry | Broken Device (JOI17_broken_device) | C++14 | 69 ms | 3312 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;
void Anna( int N, long long X, int K, int P[] ){
set<int> bad;
for(int i = 0;i < K;i++){
bad.insert(P[i]);
}
int ter[36];
for(int i = 0;i < 36;i++){
ter[i] = X % 3;
X /= 3;
//cout << ter[i] << " ";
}
//cout << "\n";
int c = 0;
for(int i = 0;i < N;i++){
if(i % 2 == 0) continue;
else{
if(bad.find(i) != bad.end() || bad.find(i-1) != bad.end()){
Set(i,0);
Set(i-1,0);
}
else{
if(c == 36){
Set(i-1,0);
Set(i,0);
}
else{
if(ter[c] == 0){
Set(i-1,0);
Set(i,1);
}
else if(ter[c] == 1){
Set(i-1,1);
Set(i,0);
}
else{
Set(i-1,1);
Set(i,1);
}
c++;
}
}
}
}
}
#include "Brunolib.h"
#include <bits/stdc++.h>
using namespace std;
long long Bruno( int N, int A[] ){
long long ans = 0ll;
int ter[36];
int c = 0;
for(int i = 0;i < N;i++){
if(i % 2 == 0) continue;
else{
int a = A[i-1];
int b = A[i];
if(a == 0 && b == 0){
continue;
}
else{
if(a == 0 && b == 1){
ter[c] = 0;
}
else if(a == 1 && b == 0){
ter[c] = 1;
}
else{
ter[c] = 2;
}
c++;
}
}
}
for(int i = 0;i < 36;i++){
//ter[i] = X % 3;
// X /= 3;
//cout << ter[i] << " ";
}
for(int i = 35;i >= 0;i--){
ans *= 3;
ans += ter[i];
}
//cout << "\n" << ans;
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |