CF949A/950C Zebras
2024-09-08 06:19:10
思路:
贪心乱搞。
实现:
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> v;
int main()
{
string s;
while (cin >> s)
{
set<int> x, y;
for (int i = ; i < v.size(); i++) v[i].clear();
bool no_ans = false;
for (int i = ; i < s.length(); i++)
{
if (s[i] == '')
{
if (x.empty()) { no_ans = true; break; }
auto be = x.begin();
int tmp = *be;
x.erase(be);
v[tmp].push_back(i);
y.insert(tmp);
}
else
{
if (y.empty()) { v.push_back(vector<int>()); y.insert(v.size() - ); }
auto be = y.begin();
int tmp = *be;
y.erase(be);
v[tmp].push_back(i);
x.insert(tmp);
}
}
for (int i = ; i < v.size(); i++)
{
if (v[i].size() && s[v[i].back()] == '') no_ans = true;
}
if (no_ans) cout << - << endl;
else
{
cout << v.size() << endl;
for (int i = ; i < v.size(); i++)
{
cout << v[i].size() << " ";
for (int j = ; j < v[i].size(); j++)
{
cout << v[i][j] + << " ";
}
cout << endl;
}
}
}
return ;
}
最新文章
- input事件与change事件
- composer
- SQL查询为什么不推荐使用select count(*)
- About Closure
- JavaScript 作用域和作用域链
- Art-Directing SVG图像viewBox属性
- 64位windows7 上安装32位oracle 10g 的方法
- Android 为应用添加数字角标
- 【转】Linq实现DataTable行列转换
- CCIE路由实验(5) -- BGP负载均衡
- BaseActivity--上门啦
- 电商SEO
- scrapy安装失败:error:Microsoft Visual C++ 14.0 is reuired.及同类型安装问题解决办法
- java 两个List集合各种情况对比处理
- block 相关清单
- iText使用经历
- 四:Jquery-animate
- Java实现各种内部排序算法
- Java_常用API
- 读源码 | metisMenu侧边栏插件
热门文章
- 【STORAGE】Qlogic FC存储交换机cmd配置方法
- Deep Learning 30: 卷积理解
- Ubuntu 12.04 make menuconfig 出现 Unable to find the ncurses libraries or the required header files.
- Ubuntu 12.10安装vmware-tools
- 如何将Eclipse中的项目迁移到Android Studio中
- ios app 上架AppStore
- hdu 1719
- 《C-RNN-GAN: Continuous recurrent neural networks with adversarial training》论文笔记
- RelativeLayout和layout_weight的异曲同工之妙(转载)
- Android项目通过Android Debug Database实时查看本地Sqlite数据库内容