QOJ.ac

QOJ

시간 제한: 6 s 메모리 제한: 1024 MB 총점: 100 난이도: [표시] 해킹 가능 ✓

#14974. Shiroi Album II

통계

Kamome erforscht derzeit Dreieckspfade auf gewichteten ungerichteten Graphen. Genauer gesagt heißt ein Pfad Dreieckspfad, genau dann, wenn:

  • die Länge dieses Pfades höchstens $2$ beträgt, oder
  • für beliebige drei verschiedene Kanten $e_1$, $e_2$ und $e_3$ auf diesem Pfad stets gilt, dass $w(e_1)$, $w(e_2)$ und $w(e_3)$ die drei Seiten eines Dreiecks bilden können.

Zur Erinnerung: Positive ganze Zahlen $x$, $y$ und $z$ können genau dann die Seiten eines Dreiecks bilden, wenn $x < y + z$, $y < z + x$ und $z < x + y$ gilt.

Kamome hat dir einen gewichteten ungerichteten Graphen gegeben. Du musst für jedes Punktepaar $(u, v)$ bestimmen, ob es einen Dreieckspfad gibt, der bei $u$ beginnt und bei $v$ endet. Wir nehmen an, dass es von jedem Knoten zu sich selbst immer einen Dreieckspfad gibt.

problem_14974_7.png

Eingabe

Jeder Test enthält mehrere Testfälle. Die erste Zeile enthält eine ganze Zahl $t$ ($1 \le t \le 10^5$), die die Anzahl der Testfälle angibt. Es folgt die Beschreibung der Testfälle.

Die erste Zeile enthält zwei ganze Zahlen $n, m$ ($1 \le n, m \le 3000$, $1 \le \sum n^2, \sum m^2 \le 3000^2$), die die Anzahl der Knoten und Kanten dieses Graphen angeben.

Die nächsten $m$ Zeilen enthalten jeweils drei ganze Zahlen $u_i, v_i, w_i$ ($1 \le u_i, v_i \le n$, $1 \le w_i \le 10^9$), die eine Kante $(u_i, v_i)$ mit dem Gewicht $w_i$ angeben.

Der Graph ist möglicherweise nicht zusammenhängend oder enthält Schleifen oder Mehrfachkanten.

Ausgabe

Gib für jeden Testfall $n$ Zeilen aus, von denen jede eine Zeichenkette aus $n$ Zeichen enthält, wobei das $j$-te Zeichen $s_{i,j}$ ist: 0, falls es keinen Dreieckspfad gibt, der bei $i$ beginnt und bei $j$ endet, und andernfalls 1.

Beispiele

Eingabe 1

2
4 3
1 2 2
2 3 2
3 4 3
8 7
1 2 3
2 3 4
3 4 1
3 5 2
2 6 2
6 7 4
6 8 5

Ausgabe 1

1111
1111
1111
1111
11101110
11111111
11111111
01111000
11111000
11100111
11100111
01100111

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.