Submission #3232

#TimeUsernameProblemLanguageResultExecution timeMemory
3232pichulia올림픽 피자 (tutorial5)C++98
70 / 100
1000 ms1984 KiB
#include "pizza.h" #include <vector> using namespace std; static int order_num; static int a[8]; struct A{ int i,d; }; static vector<A> b; void Init() { order_num = 0; int i, j; for(i=0; i<8; i++) a[i] = 0; } bool able(int x) { int i, j; j=1; for(i=0;i<8;i++) { if(x&j) { if(a[i]==0) return false; } j*=2; } j=1; for(i=0;i<8;i++) { if(x&j) { a[i]--; } j*=2; } return true; } void check(int mod) { int i, j; int n = b.size(); if(mod == 0) i = n - 1; else i = 0; for(;i<n;i++) { if(able(b[i].d)) { Bake(b[i].i); b.erase(b.begin() + i); i--; n--; } } } void Order(int N, int *A) { int i, j, k=0; j=1; for(i=0;i<8;i++) { int ii; for(ii=0;ii<N;ii++) { if(A[ii] == i) break; } if(ii<N) k+=j; j*=2; } struct A c; c.d = k; c.i = order_num; b.push_back(c); order_num++; check(0); } void Delivery(int I) { a[I]++; check(1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...