結果
| 問題 |
No.1610 She Loves Me, She Loves Me Not, ...
|
| コンテスト | |
| ユーザー |
merlin
|
| 提出日時 | 2021-07-21 22:32:57 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 125 ms / 2,000 ms |
| コード長 | 1,394 bytes |
| コンパイル時間 | 2,427 ms |
| コンパイル使用メモリ | 78,984 KB |
| 実行使用メモリ | 56,748 KB |
| 最終ジャッジ日時 | 2024-07-17 19:32:00 |
| 合計ジャッジ時間 | 6,734 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 32 |
ソースコード
import java.io.*;
import java.util.*;
class Main
{
public static void main(String args[])throws Exception
{
BufferedReader bu=new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb=new StringBuilder();
String s[]=bu.readLine().split(" ");
int n=Integer.parseInt(s[0]),m=Integer.parseInt(s[1]);
ArrayList<Integer> g[]=new ArrayList[n];
int i,l[]=new int[n],d[]=new int[n];
for(i=0;i<n;i++) g[i]=new ArrayList<>();
for(i=0;i<m;i++)
{
s=bu.readLine().split(" ");
int u=Integer.parseInt(s[0])-1,v=Integer.parseInt(s[1])-1;
g[u].add(v); g[v].add(u);
}
time=0; bridge=0;
boolean vis[]=new boolean[n];
for(i=0;i<n;i++)
if(!vis[i]) dfs(g,l,d,vis,i,-1);
//System.out.println(bridge);
if(bridge%2==0) sb.append("No");
else sb.append("Yes");
System.out.println(sb);
}
static int time,bridge;
static void dfs(ArrayList<Integer> g[],int l[],int d[],boolean vis[],int n,int p)
{
l[n]=d[n]=++time;
//System.out.println(n);
vis[n]=true;
for(int x:g[n])
if(!vis[x])
{
dfs(g,l,d,vis,x,n);
l[n]=Math.min(l[n],l[x]);
if(l[x]>d[n]) bridge++;
}
else if(x!=p) l[n]=Math.min(l[n],d[x]);
}
}
merlin