0_0_20611988_11258.cpp:6:25: error: stray '#' in program
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:26: error: 'define' does not name a type
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp: In function 'int bfs()':
0_0_20611988_11258.cpp:6:309: error: 'inf' was not declared in this scope
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:331: error: 'Node' was not declared in this scope
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:335: error: template argument 1 is invalid
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:335: error: template argument 2 is invalid
0_0_20611988_11258.cpp:6:335: error: template argument 3 is invalid
0_0_20611988_11258.cpp:6:337: error: invalid type in declaration before ';' token
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:346: error: expected ';' before 'p'
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){ p.x=1,p.y=i,p.step=1; Q.push(p); } while(!Q.empty()){ p=Q.top(); Q.pop(); if(p.x==n)return p.step; for(int i=0;i<4;i++){ q.x=p.x+dir[i][0]; q.y=p.y+dir[i][1]; q.step=p.step; if(q.x<1||q.x>n||q.y<1||q.y>m)continue; if(map[q.x][q.y]!=map[p.x][p.y])q.step++; if(Step[q.x][q.y]>q.step){ Step[q.x][q.y]=q.step; Q.push(q); } } } return 1;} int main(){ int _case; scanf("%d",&_case); while(_case--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%s",map[i]+1); int ans=bfs(); printf("%d\n",ans); } return 0;}
^
0_0_20611988_11258.cpp:6:381: error: 'p' was not declared in this scope
using namespace std;#define inf 1<<30struct Node{ int x,y,step; bool operator < (const Node &p) const { return p.step<step; }};int n,m;int Step[22][22];char map[22][22];int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; int bfs(){ for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) Step[i][j]=inf; priority_queue<Node>Q; Node p,q; for(int i=1;i<=m;i++){
|