并查集+拓扑排序
#include
#include
#include
#define maxn 20005
using namespace std;
int n,m;
vectorg[maxn];
int head[maxn];
struct stu
{
int a,b;
string c;
};
stu mapp[maxn];
int f[maxn];
void init()
{
for(int i=0;iroot;
int flag=0;
for(int i=0;i>n>>m)
{
init();
int flag=0;
for(int i=0;i>mapp[i].a>>mapp[i].c>>mapp[i].b;
if(mapp[i].c=="=") merge(mapp[i].a,mapp[i].b);
}
for(int i=0;i