wuli_Susu 2018-01-22 13:41 采纳率: 100%
浏览 1043
已采纳

ZOJ的1002题,我试了很多输入但找不到错在哪里,在OJ上是WA,拜托大神们帮我看看

题目地址
#include
using namespace std;

char* CreateMap(char map[][4],int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> map[i][j];
}
}
return *map;
}
void PrintMap(char map[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout<< map[i][j];
}
cout << endl;
}
}

bool Judge(char map[][4], int n,int i,int j) {
char m = map[i][j];
if (m == 'X' || m == 'O') return false;
if (m == '.') {
int p, q;
bool flag = true;
for (p = j-1; p >=0; p--) {
if (map[i][p] == 'O')flag = false;
if (map[i][p] == 'X')break;
}
for (p = j + 1; p < n; p++) {
if (map[i][p] == 'O')flag = false;
if (map[i][p] == 'X')break;
}
for (q = i - 1; q >= 0; q--) {
if (map[q][j] == 'O')flag = false;
if (map[q][j] == 'X')break;
}
for (q = i + 1; q < n; q++) {
if (map[q][j] == 'O')flag = false;
if (map[q][j] == 'X')break;
}
return flag;
}
}

int SearchMap(char map[][4],int n,int i,int j) {
bool flag;
int count = 0;
int p, q;
p = i;
for (q = j; q < n; q++) {
flag = Judge(map, n, p, q);
if (flag) {
map[p][q] = 'O';count++;
}
}
for (p = i + 1; p < n; p++) {
for (q = 0; q < n; q++) {
flag = Judge(map, n, p, q);
if (flag) {
map[p][q] = 'O'; count++;
}
}
}
return count;
}
void ReSet(char map[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (map[i][j] == 'O')map[i][j] = '.';
}
}
}

int MaxSearch(char map[][4], int n) {
int count = 0;
int j,h,k;
int i = 0;
for (j = 0; j < n; j++) {
int count2 = SearchMap(map, n, i, j);
ReSet(map, n);
if (count2 > count) {
count = count2; h = i; k = j;
}
}
return count;
}

int main() {
int n;
while (cin>>n&&n!=0) {
char map[4][4];
CreateMap(map, n);
int count = MaxSearch(map, n);
cout << count << endl;
}
return 0;
}

  • 写回答

9条回答

  • hany2008 2018-01-22 16:04
    关注

    代码其它部门没有问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器