![]() |
#2
tcxk2020-03-31 19:50
求助了
我的代码: ![]() #include<iostream> using namespace std; int main(){ int m[8][8]; int cnt=0; for(int i=0;i<8;i++){ for(int j=0;j<8;j++){ cin>>m[i][j]; } } for(int i=0;i<8;i++){ for(int j=0;j<8;j++){ if(m[i][j]==1){ for(int k=i;k<8;k++){ if(m[k][j]==1){ break; } if(m[k][j]==2){ m[k][j]==3; cnt++; } if(m[k][j]==3){ break; } } for(int k=i;k>0;k--){ if(m[k][j]==1){ break; } if(m[k][j]==2){ m[k][j]==3; cnt++; } if(m[k][j]==3){ break; } } for(int k=j;k<8;k++){ if(m[k][j]==1){ break; } if(m[i][k]==2){ m[i][k]==3; cnt++; } if(m[i][k]==3){ break; } } for(int k=j;k>8;k--){ if(m[k][j]==1){ break; } if(m[i][k]==2){ m[i][k]==3; cnt++; } if(m[i][k]==3){ break; } } } } } cout<<cnt; return 0; } |
Karl和Bob在玩一种海战游戏:在一个8*8的方格棋盘中,有一些战船(属于Karl或Bob),每名玩家在自己的回合,可以让己方战船向四个正方向(东、南、西、北)发射炮弹(每个方向最多发射一枚炮弹),炮弹会摧毁飞行方向上第一个碰到的战船(无论敌我),战船被摧毁后会在该位置留下一个残骸并会阻挡其他炮弹通过。
现在轮到Karl的回合,Karl想知道在不摧毁己方战船的条件下,该回合最多能摧毁多少敌方战船。
输入格式
一共8行,每行8个数字分别表示对应格子上的情况。
当数字为0时,表示该格子没有棋子,当数字为1时,表示该格子上有Karl的战船,当数字为2时,表示该格子上有Bob的战船
输出格式
一个整数,表示结果
[此贴子已经被作者于2020-3-31 19:54编辑过]