题目链接:https://codeforces.com/contest/1373/problem/B

题意

给出一个二进制串 $s$,Alica 和 Bob 每次可以选择移去 $s$ 中的一个 $10$ 或 $01$,无法选择者视为输掉游戏,判断最终谁会胜利。($1 \le t \le 1000, 1 \le |s| \le 100$)

题解一

$s$ 范围较小,$O_{(n^2)}$ 模拟。

代码

#include <bits/stdc++.h>
using namespace std; void solve() {
string s; cin >> s;
int cnt = 0;
while (1) {
bool flag = false;
for (int i = 0; i + 1 < s.size(); i++) {
if (s[i] != s[i + 1]) {
s = s.substr(0, i) + s.substr(i + 2);
++cnt;
flag = true;
}
}
if (!flag) break;
}
cout << (cnt & 1 ? "DA" : "NET") << "\n";
} int main() {
int t; cin >> t;
while (t--) solve();
}

题解二

在移除所有相邻的不同字符后,字符串最终为连续的 $0$ 或 $1$,即移除了 $0$ 和 $1$ 中的较少者,其个数代表着游戏总共可以进行多少步。

代码

#include <bits/stdc++.h>
using namespace std; void solve() {
string s; cin >> s;
int cnt[2] = {};
for (char c : s)
++cnt[c - '0'];
int mi = min(cnt[0], cnt[1]);
cout << (mi & 1 ? "DA" : "NET") << "\n";
} int main() {
int t; cin >> t;
while (t--) solve();
}

最新文章

  1. [12]APUE:高级 I/O
  2. javascript与服务器1
  3. php session 跨页失效问题
  4. 从零开始学ios开发(十七):Storyboards(上)
  5. 聊聊动画引擎 pop
  6. SQL数据库注入防范 ASP.NET Globle警告
  7. egret命令行编译项目时 版本不对应的问题
  8. C#函数式程序设计之泛型
  9. java登录密码效验
  10. how to add a shared lib in C?
  11. 数组(Array)资源
  12. SQL 数据库基本知识
  13. EFDB 基本规范&amp;知识
  14. CentOS7系统卸载自带的OpenJDK并安装SUNJDK
  15. laravel框架基础知识点
  16. javascript数据加减问题
  17. loadrunner之Java Vuser协议脚本编写
  18. VS快捷键以及Reshaper快捷键
  19. 关于 Java连接sql的转载
  20. 将footer固定在页面最下方

热门文章

  1. HBase的架构设计为什么这么厉害!
  2. 运行.bat执行sql文件 —— mysql
  3. 【Android】报错 Please ensure Hyper-V is disabled in Windows Features, or refer to the Intel HAXM 的解决方案
  4. inode占满导致No space left on device inode快速解决方法
  5. Ubuntu安装记录
  6. Docker容器日志清理方案
  7. js 前端词典对象的属性和值读取
  8. 将ffmpeg编译为wasm版本且在浏览器中运行
  9. BBR implements bbr-like limiter 限流
  10. 解析MySQL中存储时间日期类型的选择问题