結果
問題 | No.1716 Bonus Nim |
ユーザー | yamake |
提出日時 | 2021-10-22 22:42:50 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 112 ms / 2,000 ms |
コード長 | 1,235 bytes |
コンパイル時間 | 1,796 ms |
コンパイル使用メモリ | 176,592 KB |
実行使用メモリ | 13,416 KB |
最終ジャッジ日時 | 2024-09-23 06:25:08 |
合計ジャッジ時間 | 5,138 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(long long i=0;i<n;++i) #define rep1(i,n) for(long long i=1;i<=n;++i) #define rrep(i,n) for(long long i=n-1;i>=0;--i) #define debug(output) if(debugFlag)cout<<#output<<"= "<<output<<endl using lint = long long; typedef pair<int,int> P; const bool debugFlag=true; const lint linf=1.1e18;const lint inf=1.01e9; constexpr int MOD=1000000007; template<class T>bool chmax(T &a, const T &b) { if(a < b){ a = b; return 1; } return 0; } template<class T>bool chmin(T &a, const T &b) { if(a > b){ a = b; return 1; } return 0; } template<class T> vector<pair<T,int>> RunLengthPress(vector<T> a){ int cnt=1;T last=a[0]; int n=a.size(); vector<pair<T,int>> res; rep1(i,n-1){ if(last==a[i])++cnt; else{ res.push_back({last,cnt}); last=a[i];cnt=1; } } res.push_back({last,cnt}); return res; } void solve(){ int n;cin>>n; vector<lint> a(n); rep(i,n)cin>>a[i]; sort(a.begin(),a.end()); auto b=RunLengthPress(a); rep(i,b.size()){ if(b[i].second&1){ cout<<"Alice"<<"\n"; return; } } cout<<"Bob"<<"\n"; } signed main(){ cin.tie(0); ios::sync_with_stdio(false); int t;cin>>t; rep(i,t)solve(); return 0; }