生活随笔
收集整理的這篇文章主要介紹了
Codeforces Global Round 15 (A-D)没有C
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
A
太簡(jiǎn)單,寫(xiě)完刪了
B 我寫(xiě)的繁了,但是意思是這么個(gè)意思,就遍歷打擂臺(tái)一樣,找到最后的勝者,然后在遍歷一遍找是不是最厲害的
# include <bits/stdc++.h>
using namespace std
;
# define int long long
int op
[ 200095 ] [ 16 ] ;
signed main ( )
{ int t
; cin
>> t
; while ( t
-- ) { int n
; cin
>> n
; int k
= - 1 ; int maxn
[ 6 ] ; memset ( maxn
, 0x3f3f3f3f , sizeof ( maxn
) ) ; int ch
[ 6 ] ; for ( int j
= 1 ; j
<= n
; j
++ ) { int cou
= 0 ; for ( int i
= 0 ; i
< 5 ; i
++ ) { cin
>> ch
[ i
] ; op
[ j
] [ i
] = ch
[ i
] ; if ( ch
[ i
] < maxn
[ i
] ) cou
++ ; } if ( cou
>= 3 ) { for ( int i
= 0 ; i
< 5 ; i
++ ) { maxn
[ i
] = ch
[ i
] ; } k
= j
; } } bool flag
= true ; for ( int i
= 1 ; i
<= n
; i
++ ) { int cou
= 0 ; if ( i
!= k
) for ( int j
= 0 ; j
< 5 ; j
++ ) { if ( maxn
[ j
] < op
[ i
] [ j
] ) cou
++ ; } else cou
= 5 ; if ( cou
< 3 ) { flag
= false ; break ; } } if ( flag
) cout
<< k
<< endl
; else cout
<< - 1 << endl
; }
}
D 別人代碼,直接拿來(lái)用了 應(yīng)該是最精簡(jiǎn)的了
# include <bits/stdc++.h>
using namespace std
;
map
< int , int > mp
;
int a
[ 101000 ] ;
int n
, flag
= 0 ;
void dfs ( int now
, int all
)
{ if ( now
== n
) { if ( mp
[ all
] != 0 ) { flag
= 1 ; } mp
[ all
] ++ ; return ; } now
++ ; dfs ( now
, all
+ a
[ now
] ) ; dfs ( now
, all
) ;
}
int main ( )
{ int T
; scanf ( "%d" , & T
) ; while ( T
-- ) { scanf ( "%d" , & n
) ; for ( int i
= 1 ; i
<= n
; i
++ ) { scanf ( "%d" , & a
[ i
] ) ; } mp
. clear ( ) ; flag
= 0 ; dfs ( 0 , 0 ) ; if ( flag
) { printf ( "YES\n" ) ; } else { printf ( "NO\n" ) ; } }
}
tourist代碼: 思路一個(gè)數(shù)可以取或者取反例,或者不取
# include <bits/stdc++.h>
using namespace std
;
int main ( ) { ios
:: sync_with_stdio ( false ) ; cin
. tie ( 0 ) ; int tt
; cin
>> tt
; while ( tt
-- ) { int n
; cin
>> n
; vector
< int > a ( n
) ; for ( int i
= 0 ; i
< n
; i
++ ) { cin
>> a
[ i
] ; } int p3
= 1 ; for ( int i
= 0 ; i
< n
; i
++ ) { p3
*= 3 ; } bool found
= false ; for ( int t
= 1 ; t
< p3
; t
++ ) { int tmp
= t
; int sum
= 0 ; for ( int i
= 0 ; i
< n
; i
++ ) { int d
= tmp
% 3 ; if ( d
== 1 ) sum
+= a
[ i
] ; if ( d
== 2 ) sum
-= a
[ i
] ; tmp
/= 3 ; } if ( sum
== 0 ) { found
= true ; break ; } } cout
<< ( found
? "YES" : "NO" ) << '\n' ; } return 0 ;
}
總結(jié)
以上是生活随笔 為你收集整理的Codeforces Global Round 15 (A-D)没有C 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。