CF1407E.Egor in the Republic of Dagestan

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Egor is a famous Russian singer, rapper, actor and blogger, and finally he decided to give a concert in the sunny Republic of Dagestan.

There are nn cities in the republic, some of them are connected by mm directed roads without any additional conditions. In other words, road system of Dagestan represents an arbitrary directed graph. Egor will arrive to the city 11 , travel to the city nn by roads along some path, give a concert and fly away.

As any famous artist, Egor has lots of haters and too annoying fans, so he can travel only by safe roads. There are two types of the roads in Dagestan, black and white: black roads are safe at night only, and white roads — in the morning. Before the trip Egor's manager's going to make a schedule: for each city he'll specify it's color, black or white, and then if during the trip they visit some city, the only time they can leave it is determined by the city's color: night, if it's black, and morning, if it's white. After creating the schedule Egor chooses an available path from 11 to nn , and for security reasons it has to be the shortest possible.

Egor's manager likes Dagestan very much and wants to stay here as long as possible, so he asks you to make such schedule that there would be no path from 11 to nn or the shortest path's length would be greatest possible.

A path is one city or a sequence of roads such that for every road (excluding the first one) the city this road goes from is equal to the city previous road goes into. Egor can move only along paths consisting of safe roads only.

The path length is equal to the number of roads in it. The shortest path in a graph is a path with smallest length.

输入格式

The first line contains two integers nn , mm ( 1n5000001 \leq n \leq 500000 , 0m5000000 \leq m \leq 500000 ) — the number of cities and the number of roads.

The ii -th of next mm lines contains three integers — uiu_i , viv_i and tit_i ( 1ui,vin1 \leq u_i, v_i \leq n , ti{0,1}t_i \in \{0, 1\} ) — numbers of cities connected by road and its type, respectively ( 00 — night road, 11 — morning road).

输出格式

In the first line output the length of the desired path (or 1-1 , if it's possible to choose such schedule that there's no path from 11 to nn ).

In the second line output the desired schedule — a string of nn digits, where ii -th digit is 00 , if the ii -th city is a night one, and 11 if it's a morning one.

If there are multiple answers, print any.

输入输出样例

  • 输入#1

    3 4
    1 2 0
    1 3 1
    2 3 0
    2 3 1

    输出#1

    2
    011
  • 输入#2

    4 8
    1 1 0
    1 3 0
    1 3 1
    3 2 0
    2 1 0
    3 4 1
    2 4 0
    2 4 1

    输出#2

    3
    1101
  • 输入#3

    5 10
    1 2 0
    1 3 1
    1 4 0
    2 3 0
    2 3 1
    2 5 0
    3 4 0
    3 4 1
    4 2 1
    4 5 0

    输出#3

    -1
    11111

说明/提示

For the first sample, if we paint city 11 white, the shortest path is 131 \rightarrow 3 . Otherwise, it's 1231 \rightarrow 2 \rightarrow 3 regardless of other cities' colors.

For the second sample, we should paint city 33 black, and there are both black and white roads going from 22 to 44 . Note that there can be a road connecting a city with itself.

首页