Go to diff to previous submission
#include <cstdio> #include <vector> using namespace std; void printarr( vector<int> arr ) { /* for( int i = 0; i < arr.size(); i++ ) printf( "%d ", arr[i] ); printf( "\n" ); */ } int main() { int n = 0, m = 0; while( scanf("%d %d\n", &n, &m) == 2 ) { vector<int> arr[n+1]; for( int i = 0; i < n+1; i++ ) arr[i] = vector<int>(0); for( int i = 0; i < m; i++ ) { int a = 0, b = 0; scanf( "%d %d\n", &a,&b ); arr[a].push_back(b); arr[b].push_back(a); } bool yes = false; for( int i = 0; i < n+1; i++ ) { int ok = 0; for( int j = 0; j < arr[i].size(); j++ ) if( arr[ arr[i][j] ].size() == 1 ) ok++; //printf( "\tok = %d\n", ok ); if( ok == 4 ) { printf( "YES\n" ); yes = true; break; } } if( !yes ) printf( "NO\n" ); } return 0; }
--- c5.s918.cteam031.fn.cpp.0.fn.cpp +++ c5.s1035.cteam031.fn.cpp.0.fn.cpp @@ -34,23 +34,17 @@ for( int i = 0; i < n+1; i++ ) { - //printarr( arr[i] ); - - if( arr[i].size() == 4 ) + int ok = 0; + for( int j = 0; j < arr[i].size(); j++ ) + if( arr[ arr[i][j] ].size() == 1 ) + ok++; + + //printf( "\tok = %d\n", ok ); + if( ok == 4 ) { - //printf( "\tarr[%d] = 4\n", i ); - - int ok = 0; - for( int j = 0; j < 4; j++ ) - if( arr[ arr[i][j] ].size() == 1 ) - ok++; - - //printf( "\tok = %d\n", ok ); - if( ok == 4 ) - { - printf( "YES\n" ); - yes = true; - break; - } + printf( "YES\n" ); + yes = true; + break; } + }