Cod sursa(job #2292286)

Utilizator mihai2003LLL LLL mihai2003 Data 29 noiembrie 2018 12:17:28
Problema Barbar Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <queue>

std::ifstream("barbari.in);
std::ofstream("barbari.out);
char mat[1001][1001];
int viz[100][1001];
struct poz{
	int x,y,cost;
};
std::queue<poz>q;
int dx[]={-1,0,1,0};
int dy[]={0,1,0,-1};
int bs(){
	int p
}
int main(){
	int n,m,x1,x2,y1,y2;
	in>>n>>m>>std::ws;
	for(int i=1;i<=n;i++,in>>std::ws)
		for(int j=1;j<=m;j++){
		    in>>mat[i][j];
		    if(mat[i][j]=='D')
			q.push({i,j,0});
		    if(mat[i][j]=='I')
			x1=i,y1=j;
		    if(mat[i][j]=='O')
			x2=i,y2=j;
		}
	while(!q.empty()){
		poz aux=q.top();
		q.pop();
		for(int i=0;i<4;i++){
			poz a2={aux.x+dx[i],aux.y+du[i],aux.cost+1};
			if(viz[a2.x][a2.y]<cost && a2.x>=1 && a2.y>=1 && a2.x<=n && a2.y<=m && mat[a2.x][a2.y]!='*' && mat[a2.x][a2.y]!='D')
				viz[a2.x][a2.y]=a2.cost,q.push(a2);
		}
	}
	out<<bs();
	return 0;
}