64,667
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<stack>
using namespace std;
int main() {
int m;
stack<int>he;
cin >> m;
char **n = new char *[m+2];
for (int i = 0; i < m; i++) {
n[i] = new char[m+2];
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
cin >> n[i][j];
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < m; j++)
{
if (n[i][j] == '1'&&i != j)
{
he.push(j);
}
}
while (he.empty()==false)
{
for (int k = 0; k < m; k++)
{
if (n[he.top()][k] == '1')
{
n[i][k] = '1';
}
}
he.pop();
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
cout << n[i][j];
}cout << endl;
}
system("pause");
}