题目描述
暴力无脑解法,先对每对关系正着处理一遍,然后再倒着处理一遍,就是时间复杂度比其他代码高了些。。。
C++ 代码
include[HTML_REMOVED]
using namespace std;
const int N = 10010;
int w[N], m1[N], m2[N];
int main()
{
int n, P, H, M;
cin >> n >> P >> H >> M;
for (int i = 0; i < M; i)
cin >> m1[i] >> m2[i];
for (int i = 1; i <= n; i)
w[i] = H;
for (int i = 0; i < M; i)
for (int j = min(m1[i], m2[i]) + 1; j < max(m1[i], m2[i]); j)
{
if(w[j]>=min(w[m1[i]],w[m2[i]]))
w[j]–;
}
for (int i = M-1; i >= 0; i–)
for (int j = min(m1[i], m2[i]) + 1; j < max(m1[i], m2[i]); j)
{
if (w[j] >= min(w[m1[i]], w[m2[i]]))
w[j]–;
}
for (int i = 1; i <= n; i)
cout << w[i]<<endl;
return 0;
}