【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

链表模拟即可。
1pile不能加s...

【代码】

#include <bits/stdc++.h>
using namespace std; const int N = 60;
string s[N]; int l[N], r[N];
vector <string> v[N]; int main() {
#ifdef LOCAL_DEFINE
freopen("F:\\c++source\\rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0), cin.tie(0);
while (cin >> s[1] && s[1] != "#") {
for (int i = 2; i <= 52; i++) cin >> s[i]; for (int i = 1; i <= 52; i++) v[i].clear();
for (int i = 1; i <= 52; i++) v[i].push_back(s[i]); for (int i = 0; i <= 52; i++) l[i] = i - 1, r[i] = i + 1; bool ok = true;
while (ok) {
ok = false;
for (int i = r[0]; i != 53; i = r[i]) {
int x1 = -1, x2 = -1, x3 = l[i];
if (x3 >= 0) x2 = l[x3];
if (x2 >= 0) x1 = l[x2]; if (x1 >= 1 && x1 <= 52 && (v[x1].back()[0] == v[i].back()[0] || v[x1].back()[1] == v[i].back()[1])) {
v[x1].push_back(v[i].back());
v[i].pop_back();
ok = true;
}else
if (x3 >= 1 && x3 <= 52 && (v[x3].back()[0] == v[i].back()[0] || v[x3].back()[1] == v[i].back()[1])) {
v[x3].push_back(v[i].back());
v[i].pop_back();
ok = true;
} if (v[i].empty()) {
int ll = l[i], rr = r[i];
r[ll] = rr;
l[rr] = ll;
}
if (ok) break;
}
}
vector <int> ans;
ans.clear();
for (int i = r[0]; i != 53; i = r[i]) {
ans.push_back(v[i].size());
}
cout << (int)ans.size() << " pile";
if ((int)ans.size()!=1) cout <<"s";
cout<<" remaining:";
for (int i = 0; i <(int)ans.size(); i++)
cout << ' ' << ans[i];
cout << endl;
}
return 0;
}

最新文章

  1. BFC深入理解
  2. arcgis server10.2.2的安装步骤过程
  3. [UML]UML系列——类图Class
  4. matlab 画图中线型及颜色设置
  5. poj2137 dp
  6. 解决TableView / ScrollView上的Menu问题(1滑出View区域还可点击2导致点击menu后View不能滑动)
  7. [Whole Web] [Node.js, PM2] Controlling runaway apps using pm2
  8. HTML基础总结&lt;段落&gt;
  9. 成绩转换 AC 杭电
  10. ES6新特性-------数组、Math和扩展操作符(续)
  11. FMDB事务的使用
  12. 自定义状态栏的颜色及navigation的title颜色
  13. CF821C Okabe and Boxes
  14. 关于JAVA项目中的常用的异常处理
  15. configparser配置文件管理
  16. System.Object
  17. 10大H5前端框架(转)
  18. python的面向对象-面向对象设计
  19. sqoop 常用命令整理(二)
  20. 应用层级时空记忆模型(HTM)实现对实时异常流时序数据检测

热门文章

  1. ZOJ 3175 Number of Containers 分块
  2. 什么是PV和UV?
  3. Hadoop for .NET Developers
  4. 游戏server之server优化思路
  5. CI框架源代码阅读笔记6 扩展钩子 Hook.php
  6. 34.Intellij IDEA 安装lombok及使用详解
  7. sparksql不支持hive中的分区名称大写
  8. AIX设备四种状态
  9. C/C++(数据结构栈的实现)
  10. POJ 2079 Triangle 旋转卡壳求最大三角形