关联矩阵
第一种解法
#include
using namespace std;
int a[101][1001] = { 0 };
int main()
{
int n, m;
cin >> n >> m;
for (int i = 1; i < m+1; i++)
{
int u, v;
cin >> u >> v;
a[u][i] = 1;
a[v][i] = -1;
}
for (int i = 1; i < n + 1; i++)
{
for (int j = 1; j < m + 1; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
第二种解法
#include
#include
using namespace std;
#define N 105
#define M 1005
vector vec[M];
int a[N][M] = { 0 };
int n, m;
int main()
{
cin >> n >> m;
for (int i = 1; i < m+1; i++)
{
int x, y;
cin >> x >> y;
vec[i].push_back(x);
vec[i].push_back(y);
}
for (int i = 1; i < m + 1; i++)
{
a[vec[i][0]][i] = 1;
a[vec[i][1]][i] = -1;
}
for (int i = 1; i < n+1; i++)
{
for (int j = 1; j < m + 1; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}