求助,玄关
  • 板块灌水区
  • 楼主Jaspercheng
  • 当前回复4
  • 已保存回复4
  • 发布时间2025/1/24 00:02
  • 上次更新2025/1/24 10:58:38
查看原帖
求助,玄关
1022616
Jaspercheng楼主2025/1/24 00:02
#include <bits/stdc++.h>
#define f1(x , y) for(int i = x ; i <= y ; i++)
#define f2(x , y) for(int j = x ; j <= y ; j++)
#define ri register int
#define ll long long
#define il inline
#define cs const
using namespace std;

il int rd(){
    int out = 0 , flag = 1; char c = getchar();
    while(c < '0' || c >'9'){if(c == '-')flag = -1; c = getchar();}
    while(c >= '0' && c <= '9'){out = out * 10 + c - '0'; c = getchar();}
    return flag * out;
}

cs int N = 1e5 + 10;
int T , n , m , in[N];
vector <int> v[N] , sx;
priority_queue <int , vector <int> , greater <int>> q;
il void all_clear(){
	while(q.empty()) q.pop();
	f1(1 , n) v[i].clear() , in[i] = 0;
}

int main(){
	T = rd();
	while(T--){
		n = rd() , m = rd();
		all_clear();
		f1(1 , m){
			int uu = rd() , vv = rd();
			v[uu].push_back(vv);
			in[vv]++;
		}f1(1 , n) if(!in[i]) q.push(i);
		while(q.empty()){
			int now = q.top();
			q.pop();
			sx.push_back(now);
			for(auto nex : v[now])
				if(--in[nex] == 0)
					q.push(nex);
		}if(sx.size() != n) cout << "Impossible!" << endl;
		else{for(auto v : sx) cout << v << " "; cout << endl;}
	}return 0;cout << 1 << endl;
}

这个题的这里

f1(1 , n) if(!in[i]) q.push(i);

过不了,是什么问题啊

2025/1/24 00:02
加载中...