Files
python/C++课程/待整理知识/啊哈算法/炸弹人.cpp

79 lines
1.5 KiB
C++
Raw Normal View History

2025-08-30 18:35:01 +08:00
#include <iostream>
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 13 13
#############
#GG.GGG#GGG.#
###.#G#G#G#G#
#.......#..G#
#G#.###.#G#G#
#GG.GGG.#.GG#
#G#.#G#.#.###
##G...G.....#
#G#.#G###.#G#
#...G#GGG.GG#
#G#.#G#G#.#G#
#GG.GGG#G.GG#
#############
*/
using namespace std;
int main() {
char a[20][21]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20*20
int i,j,sum,map=0,p,q,x,y,n,m;
cin>>n>>m; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
for(i=0; i<n; i++)
for(j=0; j<m; j++)
cin>>a[i][j];
for(i=0; i<n; i++) { //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>ö<EFBFBD>ٵ<EFBFBD>ͼÿһ<C3BF><D2BB>
for(j=0; j<m; j++) {
if(a[i][j]=='.') { //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊƽ<CEAA><C6BD>
sum=0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
x=i;
y=j;
while(a[x][y]!='#') { //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊǽ<CEAA><C7BD><EFBFBD><EFBFBD>Ϊǽ<CEAA><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(a[x][y]=='G') //<2F><>ǰ<EFBFBD>ǵ<EFBFBD><C7B5>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sum++;
x--; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
x=i;
y=j;
while(a[x][y]!='#') {
if(a[x][y]=='G')
sum++;
x++; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
x=i;
y=j;
while(a[x][y]!='#') {
if(a[x][y]=='G')
sum++;
y--; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>ͳ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
x=i;
y=j;
while(a[x][y]!='#') {
if(a[x][y]=='G')
sum++;
y++; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>map<61><70>ֵ
if(sum>map) {
map=sum;
p=i; //p<><70>q<EFBFBD><71>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ֵ
q=j;
}
}
}
}
cout<<"<EFBFBD><EFBFBD>ը<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>("<<p<<","<<q<<")<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<<map<<"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>"<<endl;
return 0;
}