結果
問題 | No.1436 Rgaph |
ユーザー |
![]() |
提出日時 | 2021-03-13 14:27:56 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,429 bytes |
コンパイル時間 | 98 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 19,968 KB |
最終ジャッジ日時 | 2024-10-15 06:08:14 |
合計ジャッジ時間 | 5,370 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 WA * 7 |
ソースコード
import sysfrom random import randintinput = lambda:sys.stdin.readline().rstrip()sys.setrecursionlimit(1007)def scc(n, edge):redge=[[]for _ in range(n)]for i in range(n):for j in edge[i]:redge[j].append(i)order=[]used=[0]*ngroup=[-1]*ndef dfs(u):used[u]=1for v in edge[u]:if not used[u]:dfs(v)order.append(u)def rdfs(u,c):group[u]=cused[u]=1for v in redge[u]:if not used[v]:rdfs(v,c)for i in range(n):if not used[i]:dfs(i)used=[0]*nx=0for u in order[::-1]:if not used[u]:rdfs(u,x)x+=1return x,groupdef bipartite_graph_check(n, edge):color = [-1] * nfor i in range(n):if color[i] != -1:continuestack = [i]color[i] = 0for node in stack:for mode in edge[node]:if color[mode] == -1:stack.append(mode)color[mode] = color[node] ^ 1elif color[mode] == color[node]:return Falsereturn Truen,m=map(int,input().split())edge=[[] for _ in range(n)]redge=[[] for _ in range(n)]edges=[[-1]*n for _ in range(n)]for i in range(m):a,b=map(int,input().split())a-=1b-=1redge[b].append(a)edge[a].append(b)edges[a][b]=iif bipartite_graph_check(n,edge):exit(print(-1))label,_=scc(n,edge)if label!=1:exit(print(-1))rg="RG"print("".join([rg[randint(0,1)] for i in range(m)]))