You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.1 KiB
C++

#define _CRT_SECURE_NO_WARNINGS
#define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int adj[N], nxt[N], to[N], ecnt, dis[1005][1005];
inline void addEdge(int f, int t) {
ecnt++;
nxt[ecnt] = adj[f];
adj[f] = ecnt;
to[ecnt] = t;
}
void dfs(int s, int *vis) {
vis[s] = 1;
for (int e = adj[s]; e; e = nxt[e])
if (!vis[to[e]])
dfs(to[e], vis);
}
int main() {
int T, n, m;
scanf("%d", &T);
while (T--) {
ecnt = 0;
memset(adj, 0, sizeof(adj));
memset(dis, 0, sizeof(dis));
scanf("%d%d", &n, &m);
for (int i = 0, u, v; i < m; i++)
scanf("%d%d", &u, &v), addEdge(u, v);
for (int i = 1; i <= n; i++)
dfs(i, dis[i]);
bool flag = true;
for (int i = 1; i <= n && flag; i++)
for (int j = 1; j < i && flag; j++)
if ((dis[i][j] || dis[j][i]) == false)
flag = false;
puts(flag ? "I love you my love and our love save us!" : "Light my fire!");
}
return 0;
}