Submission #2864718
Source Code Expand
// finish date: 2018/07/17
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int (i)=a;(i)<(b);(i)++)
#define rep(i, n) FOR(i,0,n)
typedef long long ll;
typedef vector<int> vi;
typedef vector<vector<int>> vvi;
typedef vector<vector<vector<int>>> vvvi;
typedef vector<ll> vl;
typedef vector<vector<ll>> vvl;
typedef vector<double> vd;
typedef vector<vector<double>> vvd;
typedef vector<vector<vector<double>>> vvvd;
typedef vector<bool> vb;
typedef vector<vector<bool>> vvb;
typedef vector<string> vs;
typedef vector<char> vc;
typedef vector<vector<char>> vvc;
typedef pair<int, int> pii;
typedef pair<ll, int> pli;
typedef pair<ll, pair<int, int>> plii;
const int bigmod = 1000000007;
const int INF = 1050000000;
const long long INFll = 100000000000000000;
//dijkstra(開始ノード、ノード数、edge[頂点名][距離、行先の頂点])
vi dijkstra(int s, int V, vector<vector<pii>> edge) {
vi dist(V, INF); //INFの値がこれでいいか確認するべき
vb used(V, false);
priority_queue<pii, vector<pii>, greater<pii>> pq;
pq.push(pii(0, s));
while (!pq.empty()) {
int d, t;
tie(d, t) = pq.top();
pq.pop();
if (used[t]) continue;
used[t] = true;
dist[t] = d;
for (pii e:edge[t]) {
if (dist[e.second] < d + e.first) continue;
pq.push(pii(d + e.first, e.second));
}
}
return dist;
}
int main() {
int N, M;
cin >> N >> M;
vector<vector<pii>> edge(N + M);
rep(i, N) {
int K;
cin >> K;
rep(j, K) {
int L;
cin >> L;
L--;
edge[i].push_back(pii(1, N + L));
edge[N + L].push_back(pii(1, i));
}
}
vi dist = dijkstra(0, N+M, edge);
rep(i, N) {
if(dist[i] == INF){
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Interpretation |
User |
TASSAN |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
2021 Byte |
Status |
AC |
Exec Time |
77 ms |
Memory |
19828 KB |
Judge Result
Set Name |
sample |
dataset1 |
dataset2 |
Score / Max Score |
0 / 0 |
200 / 200 |
200 / 200 |
Status |
|
|
|
Set Name |
Test Cases |
sample |
sample-01.txt, sample-02.txt |
dataset1 |
sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt |
dataset2 |
sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, sample-01.txt, sample-02.txt |
Case Name |
Status |
Exec Time |
Memory |
01-01.txt |
AC |
1 ms |
256 KB |
01-02.txt |
AC |
2 ms |
384 KB |
01-03.txt |
AC |
2 ms |
512 KB |
01-04.txt |
AC |
2 ms |
384 KB |
01-05.txt |
AC |
2 ms |
384 KB |
01-06.txt |
AC |
2 ms |
384 KB |
01-07.txt |
AC |
2 ms |
384 KB |
01-08.txt |
AC |
2 ms |
384 KB |
01-09.txt |
AC |
2 ms |
384 KB |
01-10.txt |
AC |
2 ms |
384 KB |
02-01.txt |
AC |
63 ms |
12412 KB |
02-02.txt |
AC |
67 ms |
13824 KB |
02-03.txt |
AC |
63 ms |
9216 KB |
02-04.txt |
AC |
77 ms |
14976 KB |
02-05.txt |
AC |
72 ms |
12416 KB |
02-06.txt |
AC |
74 ms |
14976 KB |
02-07.txt |
AC |
70 ms |
13184 KB |
02-08.txt |
AC |
51 ms |
13936 KB |
02-09.txt |
AC |
71 ms |
19828 KB |
02-10.txt |
AC |
61 ms |
14324 KB |
02-11.txt |
AC |
61 ms |
14324 KB |
02-12.txt |
AC |
62 ms |
13056 KB |
02-13.txt |
AC |
62 ms |
13184 KB |
sample-01.txt |
AC |
1 ms |
256 KB |
sample-02.txt |
AC |
1 ms |
256 KB |