#include "pizza.h"
#include <queue>
using namespace std;
int ing[8],have,ordernumber;
queue<int> orderlist[1<<8];
void Init(){
int i;
for (i=0;i<(1<<8);i++) while (!orderlist[i].empty()) orderlist[i].pop();
for (i=0;i<8;i++) ing[i] = 0;
have = ordernumber = 0;
}
void Order(int N, int *A) {
int what = 0, i;
for (i=0;i<N;i++) what += 1 << A[i];
if (have | what){
for (i=0;i<N;i++){
if (--ing[A[i]] == 0) have -= 1 << A[i];
}
Bake(ordernumber);
}
else orderlist[what].push(ordernumber);
ordernumber++;
}
void Delivery(int I) {
int i,num=ordernumber,x;
if (ing[l]++ == 0){
have += 1 << l;
for (i=have;i;i=have&(i-1)){
if (!orderlist[i].empty()){
if (num > orderlist[i].front()){
num = orderlist[i].front();
x = i;
}
}
}
if (num < ordernumber){
for (i=0;i<8;i++) if (num | (1 << i)){
if (--ing[i] == 0) have -= 1 << i;
}
Bake(num);
orderlist[x].pop();
}
}
}
Compilation message
tutorial5.cpp: In function 'void Delivery(int)':
tutorial5.cpp:34: error: 'l' was not declared in this scope