BZOJ-2396: 神奇的矩阵(随机判定)

作者: AmadeusChan | 来源:发表于2019-03-13 12:58 被阅读0次

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2396

    神奇的方法,随机出一个1n的矩阵D,然后通过比较DC和DAB来判定,多跑几次就可以A了。

    代码:

    #include <cstdio>
    
    #include <algorithm>
    
    #include <cstring>
    
    #include <cstdlib>
    
     
    
    using namespace std ;
    
     
    
    #define rep( i , x ) for ( int i = 0 ; i ++ < x ; )
    
    #define check( ch ) ( ch >= '0' && ch <= '9' )
    
     
    
    inline void getint( int &t ) {
    
        int ch ; for ( ch = getchar(  ) ; ! check( ch ) ; ch = getchar(  ) ) ;
    
        t = ch - '0' ;
    
        for ( ch = getchar(  ) ; check( ch ) ; ch = getchar(  ) ) t = t * 10 + ch - '0' ;
    
    }
    
     
    
    const int maxn = 1010 ;
    
     
    
    int n , A[ maxn ][ maxn ] , B[ maxn ][ maxn ] , C[ maxn ][ maxn ] , D[ maxn ] , E[ maxn ] , F[ maxn ] ;
    
     
    
    inline void mul( int a[] , int b[ maxn ][ maxn ] , int c[] ) {
    
        rep( i , n ) c[ i ] = 0 ;
    
        rep( i , n ) rep( j , n ) c[ i ] += a[ j ] * b[ j ][ i ] ;
    
    }
    
     
    
    inline bool cmp( int a[] , int b[] ) {
    
        rep( i , n ) if ( a[ i ] != b[ i ] ) return false ;
    
        return true ;
    
    }
    
     
    
    int main(  ) {
    
        srand( 12 ) ;
    
        while ( scanf( "%d" , &n ) != EOF ) {
    
            rep( i , n ) rep( j , n ) getint( A[ i ][ j ] ) ;
    
            rep( i , n ) rep( j , n ) getint( B[ i ][ j ] ) ;
    
            rep( i , n ) rep( j , n ) getint( C[ i ][ j ] ) ;
    
            bool flag = true ;
    
            rep( i , 11 ) {
    
                rep( j , n ) D[ j ] = rand(  ) % 10007 ;
    
                mul( D , A , F ) ; mul( F , B , E ) ; mul( D , C , F ) ;
    
                if ( ! cmp( E , F ) ) {
    
                    flag = false ; break ;
    
                }
    
            }
    
            printf( flag ? "Yes\n" : "No\n" ) ;
    
        }
    
        return 0 ;
    
    }
    

    相关文章

      网友评论

        本文标题:BZOJ-2396: 神奇的矩阵(随机判定)

        本文链接:https://www.haomeiwen.com/subject/ulmzpqtx.html