CF#310-C-Case of Matryoshkas-模拟水题
2015-09-28 14:03
405 查看
公仔套公仔的游戏(只能小的套到大的里面)
操作1 : 把公仔a从公仔b分离出来,条件是,b不能被别的公仔套着
操作2: 把公仔a套进b里去,条件是,b里面没套东西,并且b没套在另一个公仔在里面
显然按照条件,只有 以1开头的 连续 的链是能全部取出来的,剩下的所有的链都要拆成单个
cun记录拆的次数
single记录 可以作为独立单位的个数
先找到 1开头的链, 然后遍历,找到1开头最长的连续的一串,作为一个single体取出来,如果该链没剩余,则不用增加拆的次数,cun,否则cun和single加上剩余的相应数量
处理完1开头的链后,接下来遍历所有的链,只要是长度为1的,直接single++,cun不变,
否则 cun加上 链的长度-1. single加上链的长度(全部拆分为单体)
最后输出 cun(过程中拆的次数)+(single-1)(最后把所有单体拼接起来)
也是大水题一道。。。然而写tm[1]写成了tm[i],又是wa了好几发
操作1 : 把公仔a从公仔b分离出来,条件是,b不能被别的公仔套着
操作2: 把公仔a套进b里去,条件是,b里面没套东西,并且b没套在另一个公仔在里面
显然按照条件,只有 以1开头的 连续 的链是能全部取出来的,剩下的所有的链都要拆成单个
cun记录拆的次数
single记录 可以作为独立单位的个数
先找到 1开头的链, 然后遍历,找到1开头最长的连续的一串,作为一个single体取出来,如果该链没剩余,则不用增加拆的次数,cun,否则cun和single加上剩余的相应数量
处理完1开头的链后,接下来遍历所有的链,只要是长度为1的,直接single++,cun不变,
否则 cun加上 链的长度-1. single加上链的长度(全部拆分为单体)
最后输出 cun(过程中拆的次数)+(single-1)(最后把所有单体拼接起来)
也是大水题一道。。。然而写tm[1]写成了tm[i],又是wa了好几发
#include <cstdio> #include <cmath> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include <queue> #include <map> #include <list> #include <vector> using namespace std; struct node { vector<int> sb; }; node tm[100005]; int cmp(node a,node b) { return a.sb[0]<b.sb[0]; } int main() { int n,m; scanf("%d%d",&n,&m); int cun=0; int num; int single=0; int j,i; int tmp; for (i=1;i<=m;i++) { scanf("%d",&num); for (j=1;j<=num;j++) { scanf("%d",&tmp); tm[i].sb.push_back(tmp); } } sort(tm+1,tm+1+m,cmp); for (i=0;i<tm[1].sb.size();i++) { if (tm[1].sb[i]==i+1) continue; else break; } tmp=i; single=1; cun+=tm[1].sb.size()-tmp; single+=tm[1].sb.size()-tmp; for (i=2;i<=m;i++) { if (tm[i].sb.size()==1) { single++; } else { cun+=tm[i].sb.size()-1; single+=tm[i].sb.size(); } } printf("%d\n",single+cun-1 ); return 0; }
相关文章推荐
- Quartz学习
- sendToTarget与sendMessage
- pycharm 教程(二)设置字体大小
- Android:Task Affinity:[string]
- 关于主键的小问题
- jsp中getParameter与getAttribute之间的区别
- Android:Launch Mode:[enum]
- ShopNC 的 wkchace 函数
- 基于rtmp协议 采用red5以及flowplayer的流媒体服务器搭建
- IIS7.0设置404错误页,返回500状态码
- [题解+总结]20150928
- JNI静态方法和非静态方法
- Android中xml实现效果三:圆角按钮
- Git的诞生
- 启用Rewrite让齐博CMS实现伪静态
- Xcode 7 UI 测试初窥
- 查询数据库信息(各表占用空间的情况和列表)
- Hadoop 详细安装配置指南
- pycharm 教程(一)安装和首次使用
- g711u与g729比较编码格式