Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
98068 ZZQ 早凉爱旅行2 C++ 解答错误 0 1000 MS 524344 KB 1740 2023-08-14 11:58:18

Tests(0/7):


#include <bits/stdc++.h> using namespace std; inline int Read() { int x = 0 , f = 1; char c = getchar(); for( ; c < '0' || c > '9' ; c = getchar() ) f ^= ( c == '-' ); for( ; c >= '0' && c <= '9' ; c = getchar() ) x = ( x << 3 ) + ( x << 1 ) + ( c ^ 48 ); return f ? x : -x; } const int _ = 2e5 + 5; #define Pair pair< int , int > int n , m; set< Pair > G[_]; int x[_] , y[_]; void Debug() { for( int j = 1 ; j <= n ; j++ ) { cout << j << ':' << '\n'; for( set< Pair > :: iterator it = G[ j ].begin() ; it != G[ j ].end() ; it++ ) { cout << (*it).first << ' ' << (*it).second << '\n'; } } system( "pause" ); } int main() { n = Read() , m = Read(); for( int i = 1 ; i < n ; i++ ) { x[ i ] = Read() , y[ i ] = Read(); for( int j = i ; j <= n ; j++ ) { G[ j ].insert( Pair{ j , x[ i ] } ); G[ j ].insert( Pair{ y[ i ] , j } ); } } // Debug(); while( m-- ) { int op = Read() , a = Read() , b = Read() , c = Read() , d; if( op == 1 ) { for( int j = a ; j <= n ; j++ ) { G[ j ].erase( Pair{ j , x[ a ] } ); G[ j ].erase( Pair{ y[ a ] , j } ); } x[ a ] = b; y[ a ] = c; for( int j = a ; j <= n ; j++ ) { G[ j ].insert( Pair{ j , x[ a ] } ); G[ j ].insert( Pair{ y[ a ] , j } ); } } else { d = Read(); int ans = INT_MAX; for( set< Pair> :: iterator it = G[ max( a , b ) ].begin() ; it != G[ max( a , b ) ].end() ; it++ ) { ans = min( ans , abs( (*it).first - a ) + abs( (*it).second - b ) + abs( (*it).first - c ) + abs( (*it).second - d ) ); } printf( "%d\n" , ans ); } } return 0; } /* 1-2-3-4 | | | | 2-2-3-4 | | | | 3-3-3 4 | | | 4-4-4-4 */


测评信息: