結果
問題 | No.92 逃走経路 |
ユーザー |
|
提出日時 | 2018-03-22 16:06:24 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 6 ms / 5,000 ms |
コード長 | 919 bytes |
コンパイル時間 | 1,840 ms |
コンパイル使用メモリ | 166,616 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-24 20:08:11 |
合計ジャッジ時間 | 2,256 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h>using namespace std;struct Root{int a;int b;int c;};Root R[ 1010 ];int d[ 1010 ];bool bPre[ 110 ];bool b[ 110 ];int main(){int i;int j;int k;int N;int M;int K;int iCnt;cin >> N;cin >> M;cin >> K;for( i = 1; i <= M; i++ ){cin >> R[ i ].a;cin >> R[ i ].b;cin >> R[ i ].c;}for( i = 1; i <= K; i++ ) cin >> d[ i ];for( i = 1; i <= N; i++ ) bPre[ i ] = true;for( i = 1; i <= K; i++ ){for( k = 1; k <= N; k++ ) b[ k ] = false;for( j = 1; j <= M; j++ ){if( d[ i ] != R[ j ].c ) continue;if( bPre[ R[ j ].a ] ) b[ R[ j ].b ] = true;if( bPre[ R[ j ].b ] ) b[ R[ j ].a ] = true;}for( k = 1; k <= N; k++ ) bPre[ k ] = b[ k ];}iCnt = 0;for( k = 1; k <= N; k++ ){if( b[ k ] ) iCnt++;}cout << iCnt << endl;for( i = 1; i <= N; i++ ){if( b[ i ] ) cout << i << " ";}cout << endl;return 0;}