Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<queue>#include<iostream>#include<cstring>#include<algorithm>using namespace std;void fre() { freopen("C://Users//laeen//Desktop//input.txt", "r", stdin);}struct lenka{int x,y,sum;}key[10];char s[105][105];int v[105][105][1<<6];int d[4][2]={-1,0,0,-1,1,0,0,1};int n,m,ex,ey;int bfs(int nx,int ny){memset(v,0,sizeof v);v[nx][ny][0]=1;queue<struct lenka>p;p.push((lenka){nx,ny,0});while(!p.empty()){lenka now=p.front();p.pop();if(now.x==ex&&now.y==ey)return v[now.x][now.y][now.sum]-1;for(int i=0;i<4;i++){nx=now.x+d[i][0];ny=now.y+d[i][1];if(nx>=0&&nx<n&&ny>=0&&ny<m&&s[nx][ny]!='#')