MT40. 关灯游戏
描述
输入描述
第一行包含一个整数 ,表示灯泡的个数。第二行包含 个 0 或 1,表示初始时灯泡的状态,0 表示熄灭,1 表示点亮。
输出描述
如果最后Alice能赢,输出Alice,或则输出Bob。示例1
输入:
3 0 1 1
输出:
Alice
示例2
输入:
5 1 1 1 0 0
输出:
Bob
C++ 解法, 执行用时: 4ms, 内存消耗: 380KB, 提交时间: 2020-10-29
#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <deque> //双向队列; #include <cmath> #include <set> #include <stack> #include <map> #include <vector> #include <cstdlib> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; const int maxn=1e3+5; const int maxm=2e6+5; const ll mod=1e9+7; const int INF=1e8; inline int max(int x,int y){return x>y?x:y;} inline int min(int x,int y){return x<y?x:y;} template<class T> void read(T &ret){ //快速输入模版; ret=0; int f=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ ret=ret*10+c-'0'; c=getchar(); } ret*=f; } int main() { int n; scanf("%d",&n); int x; for(int i=1;i<=n;i++){ read(x); if(i==n){ if(x){ cout<<"Alice"<<endl; }else{ cout<<"Bob"<<endl; } } } return 0; }
C++ 解法, 执行用时: 4ms, 内存消耗: 412KB, 提交时间: 2020-10-29
#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <deque> //双向队列; #include <cmath> #include <set> #include <stack> #include <map> #include <vector> #include <cstdlib> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; const int maxn=1e3+5; const int maxm=2e6+5; const ll mod=1e9+7; const int INF=1e8; inline int max(int x,int y){return x>y?x:y;} inline int min(int x,int y){return x<y?x:y;} template<class T> void read(T &ret){ //快速输入模版; ret=0; int f=1; char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ ret=ret*10+c-'0'; c=getchar(); } ret*=f; } int main() { int n; scanf("%d",&n); int x; for(int i=1;i<=n;i++){ read(x); if(i==n){ if(x){ cout<<"Alice"<<endl; }else{ cout<<"Bob"<<endl; } } } return 0; }