rainbow.cpp:6:8: error: 'll' was not declared in this scope
queue <ll> q;
^~
rainbow.cpp:6:10: error: template argument 1 is invalid
queue <ll> q;
^
rainbow.cpp:6:10: error: template argument 2 is invalid
rainbow.cpp: In function 'void init(int, int, int, int, int, char*)':
rainbow.cpp:11:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(i = 0; i < sN; i++)
^~~
rainbow.cpp:14:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
grid[curx][cury] = 'X';
^~~~
rainbow.cpp: In function 'int colour(int, int, int, int)':
rainbow.cpp:38:19: error: request for member 'push' in 'q', which is of non-class type 'int'
q.push(i * 1000 + j);
^~~~
rainbow.cpp:39:26: error: request for member 'empty' in 'q', which is of non-class type 'int'
while(!q.empty()) {
^~~~~
rainbow.cpp:40:31: error: request for member 'front' in 'q', which is of non-class type 'int'
int v = q.front();
^~~~~
rainbow.cpp:43:23: error: request for member 'pop' in 'q', which is of non-class type 'int'
q.pop();
^~~
rainbow.cpp:45:72: error: request for member 'push' in 'q', which is of non-class type 'int'
if(curx - 1 >= 1 && temp[curx - 1][cury] == '0') q.push((curx - 1) * 1000 + cury);
^~~~
rainbow.cpp:46:72: error: request for member 'push' in 'q', which is of non-class type 'int'
if(cury + 1 <= M && temp[curx][cury + 1] == '0') q.push(curx * 1000 + cury + 1);
^~~~
rainbow.cpp:47:72: error: request for member 'push' in 'q', which is of non-class type 'int'
if(curx + 1 <= N && temp[curx + 1][cury] == '0') q.push((curx + 1) * 1000 + cury);
^~~~
rainbow.cpp:48:72: error: request for member 'push' in 'q', which is of non-class type 'int'
if(cury - 1 >= 1 && temp[curx][cury - 1] == '0') q.push(curx * 1000 + cury - 1);
^~~~