3 条题解
-
3
年代久远,我都忘了每个数组代表什么意思了见谅(
#include<bits/stdc++.h> using namespace std; bool flag1[ 501 ] ; int flag2[ 501 ] ; vector<int> flag3[ 501 ] ; int n , m , x , y , ans ; int main() { ios::sync_with_stdio( 0 ) ; cin.tie( 0 ) ; cin >> n ; for( int i = 1 ; i <= n ; i ++ ) { cin >> x >> m ; flag1[ x ] = 1 ; for( int j = 1 ; j <= m ; j ++ ) { cin >> y ; flag2[ y ] ++ ; flag3[ x ].push_back( y ) ; } } for( int i = 1 ; i <= 500 ; i ++ ) { for( int j = 1 ; j <= 500 ; j ++ ) { if( flag1[ j ] and !flag2[ j ] ) { ans ++ ; flag1[ j ] = 0 ; for( int k = 0 ; k < flag3[ j ].size() ; k ++ ) { flag2[ flag3[ j ][ k ] ] -- ; } } } } if( ans == n ) cout << "YES" ; else cout << n - ans ; return 0; }
- 1
信息
- ID
- 1938
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 102
- 已通过
- 55
- 上传者